AI application workshop

Turn shadow AI into safe in-house innovation.

BitSwan console
Shadow IT
  • Data leaves freely
  • Nobody audits it
  • Prod one prompt away
Bailey
  • Every version audited
  • IT approves deploys
  • Append-only log
StatusExposed

Nobody sees it.

Trusted by
CETINVAFOKŠD EconomicAVANT
this page is served from a Bailey
Inside Bailey

Five steps from idea to production.

This is the actual product, not a diagram. Jana describes a process, Claude Code builds it, the tests gate the deploy, and nothing reaches production without a frozen, audited version.

process invoice-matching
Description›Coding Agent›Requirements & tests ⊗›Deploy›Deployments
Admin
H1H2H3BI</>≡SaveBuild automation

invoice-matching

Supplier invoices arrive in the shared mailbox. Match each one to its purchase order by supplier, amount and date. Post matched invoices to the accounting system.

Anything over 50 000 CZK, or anything that doesn't match, goes to Jana for approval before it's posted. Keep a record of who approved what.

Attachments (2)📎 invoice-process.pdf📎 sample-invoices-2026-09.xlsx
🛡 Protected by Bitswan Bailey · jana.novakova@company.cz Logout
process invoice-matching
Description›Coding Agent›Requirements & tests ⊗›Deploy›Deployments
Admin
✳ Claude Code
Build the invoice-matching process from the description. Use the attached sample file for tests.
I'll create three containers: a mailbox watcher, a matcher with the 50 000 CZK rule, and an approval screen for Jana.
Writing backend/match.py, backend/approve.py, frontend/app… 31 tests from the sample file.
Done. api.csob.cz isn't an approved host yet, so posting is stubbed until IT allows it in the firewall.
⌘ Esc to focus or unfocus ClaudeOpus 5 (1M) · High
Frontends 1
🌐 approvals
+ Add frontend
Worker containers 2
⚙ mailbox-watcher
⚙ matcher
+ Add worker container
Dev secrets ▾
🔑 ACCOUNTING_TOKEN
🛡 Protected by Bitswan Bailey · jana.novakova@company.cz Logout
process invoice-matching
Description›Coding Agent›Requirements & tests ⊗›Deploy›Deployments
Admin
2 failing0 running29 passing0 without a testedit backend/match.py, backend/approve.py (+9 more) · a3f91c↻ Re-run failed▷ Run tests⚗ Write tests
IDResultDescription
R-01passEvery invoice is matched to exactly one purchase order, or flagged.
R-02passMatched invoices are posted to accounting with the PO number.
R-03failInvoices over 50 000 CZK are held for approval before posting.
R-04failAn approval records who approved, and when.
R-05passDuplicate invoice numbers are rejected.
…26 moreall passing
2 test(s) are not passing. All tests must pass before this can be deployed.
🛡 Protected by Bitswan Bailey · jana.novakova@company.cz Logout
process invoice-matching
Description›Coding Agent›Requirements & tests›Deploy›Deployments
Admin

Deploy

Publishes jana-novakova into the main code area, then builds and deploys every container in this business process to dev. Your changes below become the new main once the deploy succeeds.

This business process↑ 3 ahead · 12 uncommitted files · +163 · −96Other business processes↓ 1 behind · not published by this button
31 of 31 tests passing.
🚀 Deploy to dev
12 files +163 −96  ·  Diff · History · Supply chain security
Mbackend/match.py+88 · −12
Abackend/approve.py+61
Mbackend/ingest.py+9 · −4
Afrontend/app/approvals.html+5
Mtests/test_match.py+0 · −80
backend/approve.py + LIMIT_CZK = 50_000 + def needs_approval(inv): + return inv.amount_czk > LIMIT_CZK or inv.po is None … - post_to_accounting(inv) + if needs_approval(inv): queue_for(inv, approver="jana") + else: post_to_accounting(inv, by="matcher")
🛡 Protected by Bitswan Bailey · jana.novakova@company.cz Logout
process invoice-matching
Description›Coding Agent›Requirements & tests›Deploy›Deployments
Admin
Automation
invoice-matching
3 containers promote together. Pick a stage to manage its deployment, secrets and history.
Development
Promote
Staging
Freeze
Audits 1/1
Promote
Production
Restore
Disaster recovery
Deployment history 5SecretsContainers 3BackupsFirewall 7Supply chain 084
api.csob.czallowapproved by it.admin · 09:40 · staging + production
api.ares.gov.czallowapproved by it.admin · 2 Sep
smtp.company.czallowapproved by it.admin · 2 Sep
api.openai.comdenyrequested by matcher · not approved
cdn.somevendor.iodenyrequested by frontend · not approved
0.0.0.0/0denydefault · staging + production
componentversionseveritystatus libxml22.9.14 → 2.12.7criticalfixed in image openssl3.0.13highnot reachable requests2.32.3lowaccepted + 81 morelow · infoclean
SBOM attached to image sha256:7f3a… · 0 blockers · promotion allowed
ACCOUNTING_TOKEN••••••••••••
scoped: matcher · production · rotated 12 Sep
CSOB_API_KEY••••••••••••
scoped: matcher · staging + production
SMTP_PASSWORD••••••••••••
scoped: mailbox-watcher · all stages
+ New secretinjected at runtime · never in the repository
27f7b666Hold invoices over 50 000 CZK for approval · 2 commitsCurrent on Production
c41d09aaReject duplicate invoice numbersjana.novakova · frozen · audited by it.admin
9be2f117First deploy of invoice-matchingjana.novakova · 2 Sep
🛡 Protected by Bitswan Bailey · jana.novakova@company.cz Logout

What IT sees. Every screen above is visible to the admin: the description, the agent's chat, the tests, the diff, and the history of who promoted and signed what.

What the agent can't see. Production. It works in dev with its own database, file store and network. Promotion to staging and production is a human decision, recorded.

The boundary

What gets in. What gets out.

A Bailey is the line between your people's ideas and your production systems. Everything crosses it on the record.

In your people's prompts
your data, inside your network
your secrets, sealed at the edge
the model self-hosted or by API
Claude Code, Codex, any agent
Bailey
  1. Buildin dev
  2. Auditsigned off
  3. Shipto prod
Every step is logged.
Out traffic to approved hosts only
audit log to your SIEM
apps your staff open from a catalogue
nothing else
Built in, not retrofitted

The controls the audit asks about.

The runtime enforces them on every app. The evidence writes itself into the append-only history.

NIS2

Access control, logging and supply-chain evidence come from the runtime, not from a policy document.

DORA

Every change is frozen, tested and signed before production, with the record to show for it.

ISO/IEC 27001

The technical controls an Annex A review asks for are enforced, and the enforcement is logged.

SOC 2

Change management and logical access are evidenced by a history nobody can edit.

GDPR

The Article 30 register and Article 28 processor agreements build themselves as external hosts are approved.

Proven in production

Five years in production.

In production5+ yrs
Enterprise clients10+
Active workflows50+
“We went from piecemeal scripts and manual copying to a cohesive, governed platform that handles our core telecom and financial workflows. BitSwan keeps us agile without compromising our security audits.”
Juraj Eliáš · Chief Core Network Architect, CETIN Group
  • CETINTelecommunications
  • KŠDLegal & corporate
  • AVANTInvestment funds
  • VAFOManufacturing
  • Emil FreyAutomotive
  • FamicoE-commerce
  • Process SolutionFinancial
Questions from IT

What your CTO will ask.

Can the coding agent reach production?
No. Development, staging and production each run on their own database, file store and network. The agent works in dev. Production only ever receives a version an auditor has frozen, read and signed.
What leaves our network?
Only traffic to hosts IT has approved. Outbound is default-deny in staging and production, and every approval is logged. The model can run inside your infrastructure as well, so even prompts need not leave.
Who approves a deployment?
An auditor you designate, independent of the person who built the app. They freeze the exact version, read the diff and sign it. The signature is the promotion.
Does it work with the Claude Code our developers already use?
Yes. Claude Code, Codex, Cursor and other terminal agents run inside the workshop unchanged. What changes is that the result lands in a reviewed, logged runtime instead of on someone's laptop.
What does the audit log record?
Every build, egress request, approval, sign-off and deployment, with who and when. It's append-only, so not even the operator can edit it, and it exports for your auditors.
What happens to the apps if we stop using BitSwan?
They keep running. What gets built is real code, in your repository, on your infrastructure. Nothing lives inside a product you'd have to leave behind.
Next step

Want to see it running?

Thirty minutes. We show you Bailey, you tell us about your work, and we find out whether there is something here for you.

Demo available in English or Czech