OpenAISF Request for Comments · v1.0.0a2 · 7 Aug 2026

The AI controls
nobody else requires.

OpenAISF covers every requirement of ISO 42001, NIST AI RMF and the EU AI Act, and maps ISO/IEC 23894's risk-management clauses. Then it adds 36 controls none of them have — for the agent, data and assurance risks the incumbent frameworks were written too early to see.

And unlike a certificate, its conformance expires on its own. Watch:

Conformance statement checked at —
TruCert · OpenAISF-T2 valid
evidence age
0 days
verdict
asserts conformance

Nobody revokes this. The evidence stops arriving and the lease runs out.

Adopt it if

  • You run agents in production and cannot currently prove you could stop one.
  • You are asked for AI assurance by customers and have only a policy document to send.
  • You are in EU AI Act scope and want Art. 72 monitoring to produce something checkable.
  • You buy AI from other people and have no way to tell whether their assurance is still true.
  • You already run ISO 42001, ISO/IEC 23894 or SOC 2 and want the AI-specific controls they do not contain.

The problem

Every AI framework was written before agents shipped.

Three gaps follow from that, and they are the reason organisations pass audits and still get hurt.

They govern models. You run agents.

An agent holds credentials, calls tools and acts. No incumbent framework asks what it is permitted to reach, how you would notice it going outside that, or whether you can actually stop it.

They govern databases. AI makes new data.

Prompt logs, embeddings, semantic caches, fine-tuning corpora. Your data map has none of them, and your deletion process cannot reach them.

They certify a moment. Systems change hourly.

A prompt edit or an upstream model update can invalidate a control within the hour. The certificate stays valid for a year.

The differentiator

36 of 118 controls have no incumbent equivalent.

That figure is computed, not claimed. A control counts as original only when it maps to zero requirements at full strength across ISO 42001, NIST AI RMF, the EU AI Act, the CSA AI Controls Matrix and ISO/IEC 23894. Here is what they buy you.

The riskISO / NIST / AI Act / AICMOpenAISF requires
An agent doing work nobody authorised — inside its permissions the whole time nothingDetect activity outside the recorded business purpose D15-C07
An agent whose actions stop matching the plan it announced nothingCompare declared intent against actions taken D15-C01
A kill switch nobody has ever pulled nothingExercise containment on a cadence, record the time it took D16-C02
Detectors that have never fired, so nobody knows if they can nothingInject a simulated rogue agent, measure time to detect D16-C03
An agent spending without limit until the invoice arrives nothingPer-session budget for calls, tokens, spend and egress D07-C02
An agent that spawns another with privileges it never had nothingBounded delegation depth, no escalation on spawn D07-C03
An irreversible action taken autonomously nothingClassify every action by reversibility, gate the irreversible D07-C04
Your prompt log — the largest sensitive store you own, on no data map nothingInventory prompts and completions as a data store D03-C11
Deletion that removes the record and leaves the embedding nothingProve deletion by attempted retrieval, semantic queries included D03-C13
A supplier's assurance quietly going stale under you nothingInherited controls degrade when the upstream lease does D17-C02
A policy declared on that never actually ran nothingCheck declared configuration against observed enforcement D19-C03
Approving everything because you approve everything nothingMonitor the oversight acceptance rate; near-total is a finding D10-C03

Twelve of thirty-six shown. The full set spans agent authority, detection, incident containment, identity delegation, data governance and the integrity of conformance evidence itself — and each carries the real failure it exists to prevent, with a named incident where one exists.

36

controls with no incumbent equivalent, out of 118

15

of the 20 domains contain at least one original control

0

hand-maintained originality claims. The figure is computed from the crosswalk and a declared value that disagrees is an error

Data governance

AI risk is data risk. Your data map does not know that yet.

Sixteen data controls, seven of them original. Existing data governance was built for records in databases. An AI system creates stores nobody inventories and derives artefacts that silently lose their classification.

What actually happensOpenAISF requires
The prompt log becomes the largest unstructured store of sensitive data you hold. It was built as telemetry, so it inherited a logging retention policy, sits outside DLP, and is not searched when a subject access request arrives. Prompts, completions and tool I/O appear in the data inventory with an owner, a classification and a retention period. They must not be treated as application logs. D03-C11 no incumbent equivalent
An embedding of a confidential contract is treated as a float array. Classification is applied to the source and lost at the moment of derivation, so the derived store ends up in another region under another retention policy. Embeddings, indexes, caches and fine-tuning corpora inherit the classification and residency of their most sensitive source. D03-C12 no incumbent equivalent
Deletion succeeds against the record and the embedding survives, so the content stays semantically retrievable while every artefact an auditor inspects says it is gone. Verify deletion by attempting retrieval through the system's own paths, including semantically equivalent queries. A completed deletion job is not evidence. D03-C13 no incumbent equivalent
A prompt is a join, executed thousands of times a second, with no schema and no reviewer. Content at three classifications is concatenated and the output inherits the highest while being handled as the lowest. Combining data classes in one context requires a declared policy, and the output takes the classification of the most sensitive contributor. D03-X01 no incumbent equivalent
Support transcripts collected to answer a customer's question become a fine-tuning corpus because they were available. No boundary was crossed, no copy left — and the model cannot be untrained later. Operational data may not be used for training outside its collection purpose without a recorded decision naming the data and the model. D03-X02 no incumbent equivalent
A semantic cache returns one customer's answer to another customer's question, because the two were close in embedding space and the cache key never encoded the boundary. Verify isolation in shared retrieval and cache layers by attempting cross-boundary retrieval. The attempt must fail. D03-X03 no incumbent equivalent

The seventh requires your AI data classification to be inherited from the scheme you already run rather than invented alongside it — because two taxonomies diverge within months and then neither is applied.

Control plane · Data plane

A policy that never fired was not operating.

Evidence has two planes. The control plane states what is configured. The data plane reports what happened to live traffic. They have to agree.

$ openaisf check --context system.yaml --evidence ./evidence --tier T3

D07-C01  [fail]  declared enabled, but 184203 requests crossed the
                 enforcement point with 0 decisions recorded. A policy
                 that never fired under live traffic was not operating.

lease: revoked                                          exit 1

No assessor was involved. Two numbers disagreed and the disagreement settled it — and an attestation cannot resolve it. A signed statement from an accountable person does not override telemetry. It cuts both ways: decisions recorded with no traffic to have produced them are fabrication, and fail the same way.

This is classified as a disqualifying failure: it blocks conformance even where the control is only recommended at that tier. Obligation level governs whether a shortfall affects conformance. It does not govern the treatment of a false statement.

Transparency log

Check a supplier without asking their permission.

Statements are signed and published to a hash-chained log. Verification needs the statement, a public key and a clock. No account, no relationship, no registry that could be leaned on.

$ openaisf verify --log vendor.jsonl --system urn:… --key vendor.pub

  chain           intact
  signature       valid
  expires         2025-08-16T12:14:04Z
  checked at      2026-08-07T12:14:05Z

  state           EXPIRED

This badge no longer asserts conformance. Nobody revoked it;
the lease simply ran out.                            exit 1

Modifying a past log entry breaks every hash after it. The operator cannot forge history or make an expired statement look current.

And decay propagates. A control you inherit from an upstream model provider resolves against their lease. When theirs goes stale, yours degrades within one freshness window. That is what makes conformance affordable — you import what your provider already proved instead of re-proving it — and it means a provider who lets their badge lapse hears about it from every customer that week.

Crosswalk

Everything they require. Then the part they don't.

Each regime is inventoried to its atomic requirements, and every one must be covered by named controls or excluded with a written reason. No third state. An unresolved requirement fails the build.

RegimeReqsCovered / excludedGap
CSA AI Controls Matrix v1.1.12470
MITRE ATLAS 2026.071780
EU AI Act 2024/1689840
NIST AI RMF 1.0720
ISO/IEC 42001:2023 Annex A380
ISO/IEC 23894:2023130
MCP-38 threat taxonomy380
OWASP LLM Top 10 · 2025100
OWASP LLM Top 10 · 2026100
Total690557 covered · 133 excluded0

covered by named controls excluded, with a written reason

Mapping outward from your own controls shows what you found and never what you missed. This inverts it — which is also how the 36 original controls are identified: they are the ones that map to nothing. ISO/IEC 23894 is inventoried as what it is — guidance: all 13 risk-management clauses are covered, each mapping deliberately at partial strength.

The 133 exclusions are the part to argue with. Ninety-one CSA entries are general cloud security inherited from the Cloud Controls Matrix; forty-two ATLAS entries are adversary reconnaissance performed outside your systems. Nothing was excluded to produce a complete report, and a control fails your run if an exclusion is contradicted by your own telemetry.

Applicability

118 controls exist. You will read 35.

Controls carry a machine-evaluable scope predicate, so the framework works out which apply to you rather than making you read all of them and decide.

SystemT1T2T3
Internal non-agentic LLM application33554
Agentic, tool-using, handling personal data45182

Tier 1 is three controls for the typical system — one of them mandatory — and four for the agentic one. The test suite pins these numbers: the build fails if any of them rises — the no-bureaucracy promise is enforced, not asserted.

No control claims to prevent prompt injection

It is unsolved at the model layer, and adaptive attacks defeat published defences at rates above 85–90%. A control demanding prevention could not be satisfied. Controls bound what a successful injection reaches, require detection by detectors proven by drill to fire, and require tested containment — because 58–59% of enterprises monitor their agents and only 37–40% can stop one.

Reference implementation

Free, open, and installable in a minute.

Specification CC BY 4.0. Tooling Apache 2.0. Any tier reachable self-assessed, with no certifier and no fee.

pip install -e .

openaisf scope    --context system.yaml --tier T2      what applies to you
openaisf check    --context system.yaml --evidence ./  exit 0 = conformant
openaisf publish  --context system.yaml --log log.jsonl
openaisf verify   --log log.jsonl --system urn:… --key k.pub
openaisf coverage                                      the table above
openaisf export   assessment-results                   OSCAL 1.1.2
openaisf mcp                                           MCP server for agents

Runtime dependencies are pyyaml and jsonschema — the whole list, because this runs in your CI. 181 tests, and both release gates run on every push and pull request. The MCP server lets an agent read the catalog and check its own conformance, but it deliberately cannot submit evidence, sign or publish. An agent asserting its own compliance is a claim, not evidence.

This page is the case for adopting it. The repository README is the reasoning behind each decision and a walkthrough of using it — including the design choices most likely to be argued with.

Questions

Frequently asked

Is this just a mapping of existing frameworks?

No. 36 of 118 controls map to zero requirements at full strength in ISO 42001, NIST AI RMF, the EU AI Act, the CSA AI Controls Matrix or ISO/IEC 23894. The figure is computed from the crosswalk rather than asserted, and a hand-written originality claim that disagrees with the computation is treated as an error.

How is this different from ISO 42001 or SOC 2?

Two ways. It covers risks they do not — see the table above. And its conformance expires: evidence is population-level rather than sampled, freshness is declared per control so lapse is automatic rather than covered by a bridge letter, and a relying party verifies without contacting the subject. Those regimes are substantive; the difference is specific rather than rhetorical.

Is this the first machine-readable AI compliance work?

No. OSCAL, the OSCAL AI compliance evidence proposal, Policy Cards, AIP and DEMM-Bench are prior art and are cited in the specification. OpenAISF exports OSCAL rather than competing with it. The distinguishing properties are the original control set and a conformance state that expires without intervention.

Does it guarantee no AI agent behaves adversarially?

No framework can. OpenAISF requires that agent authority is bounded, that departure from those bounds is detected by detectors proven by drill to fire, that a departure can be contained by an exercised and timed kill-switch, that damage is recoverable, and that all four are proven on a cadence.

What does it cost?

Nothing. Any tier, including tier 4, is reachable self-assessed with no certifier involved. Specification CC BY 4.0, tooling Apache 2.0. TruCert sells an independent counter-signature and the work of running the machinery — it sells nothing that gates access to the standard.

How do I comment on it?

This is a Request for Comments. Open an issue on GitHub. Most useful, in order: an exclusion that should not be excluded; a control that requires an unachievable outcome or is not falsifiable; a factual error in any published figure.