OSFI B-13 · B-10 · E-21 · E-23
Evidence you can check without trusting us
osfi-gate produces control evidence as changes ship. Every gate run writes a signed, hash-chained bundle: the scanner output it saw, the policy it applied, the decision it reached, and enough context to reach that decision again.
The point is the last part. You can replay it.
osfi-gate verify --evidence-dir ./evidence --repo owner/name \
--policy-dir ./policy --pubkey ./key.pub
Re-hashes every file. Checks the manifest against the ledger, and the ledger entry against the one before it. Checks the signature. Then re-runs the recorded policy over the recorded inputs and confirms it still reaches the recorded result. Offline, with nothing of ours running.
Free tools
Free to use, with no sign-up. Everything runs in your browser — what you type stays on your machine, is never sent to a server, and is never stored or seen by us.
E-23 AI Model Risk Alignment Tool →
Tier a model across seven risk dimensions — financial impact, decision breadth, complexity, automation, data sensitivity, third-party dependency and business criticality — then see which governance controls that tier requires, each with the E-23 section behind it. Generative models get an additional AI control set. Print the result or save it as a PDF.
How it works
Four steps, on every change. Nothing here runs on a schedule that somebody has to remember, and nothing depends on a person filling in a form afterwards.
- The gate runs in CI. On every pull request and every push to a protected branch, alongside your existing scanners — Semgrep, Trivy, Gitleaks, Checkov — plus its own checks for dependency pinning, licences and AI call sites.
-
A policy decides. Findings are mapped to control identifiers by
mapping.yaml, and Rego rules in a policy repository your second line owns decide what blocks and what only warns. Not a vendor's opinion of your risk appetite. - Evidence is written and signed. The scanner output it saw, the policy it applied, the decision it reached, and the inputs needed to reach it again — hashed into a manifest, appended to a hash-chained ledger, signed, and stored where it cannot be rewritten.
-
Anyone can replay it.
osfi-gate verifyre-hashes the files, checks the chain and the signature, and re-runs the recorded policy over the recorded inputs to confirm it still reaches the recorded result — offline, with nothing of ours running.
The console on this page reads that evidence. It is a viewer, not the source of truth — which is why the demo can be a directory of files.
See it running
A console over a year of evidence for a fictional Canadian bank.
Built the way it asks you to build
The project runs its own gate on itself, and the work is tracked against milestones rather than a wish list.
What it covers
Change control
Approval and segregation of duties, evidenced per change rather than attested once a quarter.
Vulnerabilities
Findings against an SLA the policy sets, with the scanner output that produced them kept alongside the decision.
Secrets and third parties
Secret material, dependency provenance and licence constraints, each mapped to a control identifier.
E-23 model lifecycle
AI call sites, model materiality, and the governance controls a tier requires — discovered in the code, not in a spreadsheet.
What it is not
These are on the front page rather than in a footnote, because the proposition is that the claims are checkable and these are the ones that bound them.
- It does not assess your controls. A gate decides, against a policy your second line owns and versions in Git. This produces the evidence of that decision.
- Verification proves nothing was altered. It does not prove the decision was right. Those are different sentences and the distinction matters more than anything else on this page.
- Coverage is of the enrolled estate, not of the institution. A repository nobody enrolled produces no evidence, and its absence cannot be seen from inside the evidence. There is a check for that, and it reports what it can see, bounded by what a token can see.
- Every status is historical. It describes one commit at one moment — the last time the gate ran. Not a live claim about what is shipping now.
- Risk approves in Git, not in the app. A button in a web page would need its own signed audit trail before it meant anything.
- Immutability forecloses deletion. Once a bundle is under compliance-mode retention it cannot be removed before its date, by anyone. That is the point, and it is also a door that does not reopen.
Get in touch
For a walkthrough, a pilot on your own estate, or the answer to an awkward question about any of the limits above — email is the fastest way.
osfi@melx.buzz Blake Medulan on LinkedIn
Built by Blake Medulan in Markham, Ontario.