Version control that can prove every change.
Strata is serverless version control on Amazon S3, built for banks, insurers and other regulated organizations. Teams version code and docs from the bottom up. Rules, CI templates, AI prompts and agent skills cascade from the top down. Every write lands in a tamper-evident ledger.
The problem
Git was built for emailing kernel patches. Enterprises now keep their rules in it.
Large companies store code, infrastructure, policies, and now the prompts and skills that steer AI coding agents, all in a tool that has no idea who you are or what your auditor needs.
Servers to run
Hosting Git at scale means fleets to patch, capacity to plan, and monorepos that slow to a crawl.
Rules that don't spread
Getting a new secure-coding rule into 20,000 repositories means 20,000 pull requests that teams can ignore.
Audit trails rebuilt by hand
Compliance teams reconstruct evidence from logs that were never meant to be evidence.
Layers
Bottom-up for work. Top-down for rules.
A Layer is a repository meant to be inherited, not forked: CI templates, lint rules, a secure-coding prompt, an AGENTS.md, the MCP servers agents may call. It cascades from the organization to every repository that extends it, and each path says how lower levels may change it.
Lower levels cannot change it. The API rejects any push that touches it.
Lower levels may replace it, like a default formatter config.
Lower levels add their own lines, which survive every pull.
# platform team publishes the org baseline $ strata repo create org-rules --layer $ cat strata.layer.json {"rules":[{"path":"ci/**","mode":"locked"}, {"path":"AGENTS.md","mode":"append"}]} $ strata push -m "OPS-1 org baseline" # any team, anywhere in the company $ strata repo create cards-api --extends org-rules $ strata clone cards-api && cd cards-api # ci/ and AGENTS.md arrive from org-rules $ echo "- PAN tokens only" >> AGENTS.md $ strata push -m "CARD-1 skeleton" $ strata layers fleet org-rules cards-api payments-api ledger-svc …
Governance
Controls an auditor can check, not just a process to trust.
Each control is enforced in the write path, in the same database transaction as the change it governs. There is no separate audit job that can fall behind or be switched off quietly.
Tamper-evident ledger
Every write appends a hash-chained record, archived to S3 under Object Lock. Anyone with read access can run strata audit --verify.
Policy as code
Permissions are Cedar policies, versioned and reviewed in a Strata repo like any other change. Groups come from your identity provider. Fail-closed until the first policy lands.
Four-eyes approvals
An approval is bound to one exact revision; amending voids it. Authors never count, administrators included. The promotion record lists who approved.
Work tracking built in
Every change carries work items, labels and attributes. PAY-42 in a message links itself. Find every change for a ticket across all repositories.
Write-once storage
Content-addressed objects in S3, checked by S3 on upload and never overwritten. Branch moves are compare-and-swap, so concurrent pushes cannot corrupt history.
Events you can't lose
Events are published from the ledger, not alongside it. Jira gets a remote link for each change; your SIEM can subscribe to the same stream.
Break-glass
No standing admin access. No way to lock everyone out.
Once policies exist, administrators are bound by them like everyone else. In an emergency, they open a time-boxed grant instead. Grants are checked outside the policy engine, so even a broken policy push can be fixed.
- Activate with a reason and a ticketNamed repositories, at most 4 hours, and only after an MFA sign-in in the last 15 minutes.
- Every action is taggedEach write under the grant is marked in its repository's ledger and indexed under the grant. Activation pages the alarm topic.
- Another admin reviews itNever the holder, and only after the grant ends. A review still open 24 hours later raises an alarm.
$ strata breakglass start \ --reason "payments down, hotfix needed" \ --work-item INC-42 --repo payments --for 1h break-glass bg-20261031T0912Z-4c1e active until 10:12AM on payments $ strata push -m "INC-42 hotfix" $ strata breakglass end # the next morning, a second admin $ strata breakglass list --open $ strata breakglass show bg-20261031T0912Z-4c1e 1 actions under this grant: payments ChangeCreated INC-42 hotfix $ strata breakglass review bg-20261031T0912Z-4c1e \ --outcome accepted --note "diff matches INC-42"
Architecture
Nothing to patch. An idle repository costs only its storage.
Every component is a managed AWS service, deployed into your own AWS account. There is no Strata-hosted service that holds your code.
One transaction
A change, its ref move and its audit record commit together in DynamoDB, or not at all.
Your keys
Data, index and audit each use their own customer-managed KMS key, rotated yearly and retained on delete.
Alarms on the auditors' worries
Ledger lag, dead-letter queues, edits to the ledger function itself, and every break-glass activation.
Cost model
| Component | Per month |
|---|---|
| S3 storage, 2 TB Standard | ~$47 |
| S3 requests | ~$60 |
| Lambda and API Gateway | ~$150 |
| DynamoDB on demand | ~$120 |
| CloudFront egress for checkouts | ~$200 |
| Total | ~$577 |
Estimate at AWS list prices for 1,000 engineers, 2 TB of history and 5 million writes a month. People and agents who only read add no per-seat cost.
Compliance
Designed around what a bank's auditor asks for.
Strata is designed to support these requirements. It is not certified against any of them, and each organization stays responsible for its own compliance.
| Requirement | How Strata addresses it |
|---|---|
| DORA Art. 9: access control and change management | Cedar policy on every request, four-eyes approvals on protected branches, no standing admin access |
| DORA Art. 9(4)(c), SOX emergency changes | Time-boxed break-glass with a ticket, full tagging and an independent review |
| SOX change management, RTS 2024/1774 Art. 17 | Approvals bound to a revision; work item and fast-forward required on main |
| SOC 2 CC7, ISO 27001 logging | Hash-chained ledger of every write, archived under S3 Object Lock, verifiable by anyone with read access |
| DORA Art. 28: concentration and third-party risk | Runs in your own AWS account; no extra hosted provider holds your code |
Build status
A working prototype, honestly labelled.
Strata runs end to end on AWS today, with an integration suite that exercises the real S3 buckets and DynamoDB table. Here is what is built, and what is still ahead.
Working
- Content-addressed, write-once storage on S3
- Atomic refs, stable change IDs, amend
strata pullwith three-way merge- Layers: locked, override, append
- Cedar policies, fail-closed bootstrap
- Four-eyes approvals
- Break-glass with review and alarms
- Hash-chained ledger under Object Lock
- Work items, labels, Jira links, search
- Web console and
strataCLI
Partly there
- Large files: whole objects up to 5 GB, no chunking yet
- Wave rollouts: canary refs, no automatic waves
- Fleet view: who inherits, not which revision
- Keys: customer-managed, not yet customer-supplied
- Guardrails: locked files, no secret scanning yet
- Agent identities: no scoped short-lived credentials yet
On the roadmap
- Signed chain heads with a qualified timestamp
strata exportto plain Git, with a verifier- Warm standby in a second region
- Git bridge for existing clients and CI
- Virtual checkout for very large repositories
- Signed changes and read logging
- Semantic search