AffixIOAFFIXIO
Contact

Noir circuits

Noir circuits for eligibility predicates

Business eligibility is often a predicate: old enough, member of programme, within limit. AffixIO uses Noir circuits so those predicates can be proved without shipping raw attributes to every verifier.

Category Privacy and identity Updated 17 July 2026 Reading ~10 min
NOIRCIRCUITSPREDICATESZKALLOW/DENYCATALOGUE

Definition

Noir eligibility circuits encode policy predicates as zero-knowledge circuits that verify to a signed allow or deny without revealing underlying attributes at the gate.

Field note. Hand-coded eligibility checks produce deny rates your team cannot explain. Circuits make predicates inspectable and testable.

Catalogue first

Start with the published circuit catalogue. health_age and yes/no style predicates cover common gates. Custom circuits follow when catalogue options do not fit.

Issue proofs upstream. Verify at the boundary. AffixIO signs the outcome with ML-DSA-65 and attaches Merkle audit references.

Engineering practice

Version circuits. Record which version authorised a decision. Use the circuit picker tool when exploring options.

Keep witnesses with the issuer. Verifiers should not become attribute warehouses.

Rollout notes for Noir eligibility circuits

For Noir eligibility circuits, provision sandbox circuits that mirror production predicates before you expose live agent traffic. Capture sample allow and deny payloads for regression tests.

Keep identity and rich attributes with the issuer. Verifiers receive outcomes and Merkle metadata only. Sync audit refs to your SIEM or order store after the gate returns.

Edge constraint

Rules scattered in application code

When every service re-implements eligibility in application logic, behaviour drifts and auditors cannot point to a single verifiable rule artefact.

Logic drift

Two services disagree on the same business rule.

Attribute leakage

Services pull more fields than the predicate needs.

Hard audits

No stable circuit version to cite in evidence packs.

Sandbox first

Noir circuits for eligibility predicates you can audit

Eligibility logic buried in application code drifts from policy and cannot be replayed by auditors. Noir circuits express predicates as verifiable proofs with deterministic allow or deny at the boundary.

  1. Pick a catalogue circuit

    Or define a custom predicate.

  2. Issue proofs at source

    Attribute holder proves the circuit.

  3. Verify at gates

    Signed allow or deny.

  4. Version in audit

    Record circuit identity with Merkle refs.

Evidence checklist

Readiness checks for Noir eligibility circuits

  • List eligibility rules currently in app code.
  • Match to catalogue circuits where possible.
  • Document circuit versions in runbooks.
  • Confirm zero PII at verifiers.
  • Exercise circuits in the sandbox.

Audit FAQ

Questions on Noir eligibility circuits

Where is the catalogue?

/docs/circuits and related docs.

Must every rule be ZK?

No. Use circuits when attribute minimisation matters.

Can we write custom circuits?

Yes, under agreed engineering process. Start with catalogue matches.

What signs the outcome?

ML-DSA-65 on AffixIO verification outcomes.

Tooling links

Pages that support Noir eligibility circuits

Compile eligibility predicates in Noir

Deploy test circuits in sandbox, then attach verify to your eligibility boundary with Merkle audit.