Privacy-preserving verification

Verification without holding the data.

AffixIO returns a yes or no eligibility result for age assurance, KYC, and policy checks. Proof runs on your host. We attest the outcome with ML-DSA-65 and keep a Merkle audit trail. Personal data stays where it already lives.

  • Zero-knowledgeLocal UltraHonk prove when full ZK is required
  • Post-quantumML-DSA-65 (FIPS 204) on every production sync
  • Stateless verifyNothing retained from the verify path

What you get

The pieces security and engineering teams actually connect.

01

Binary verify

Send an identifier and a circuit. You get eligible true or false. Optional signed material if you need it. data_retained stays null.

02

Circuit policy

The circuit decides what you are checking: age, KYC, voting, health, finance, education. You pick the rule. AffixIO runs the check.

03

ML-DSA attestation

Production sync needs AffixIO ML-DSA-65 (FIPS 204) on the payload. That is the bar for a signed result you can keep.

04

Merkle audit

Digests land in an AffixIO-compatible Merkle tree. Leaves stay with their attestation so you can reconcile later.

Read the platform overview

Node.js SDKs

Two packages, one API. Pick the proof model that fits the device and the risk.

@affix-io/sdk

Enterprise SDK

Local UltraHonk zero-knowledge prove with bundled Noir circuits. AffixIO verifies, signs with ML-DSA-65, and anchors Merkle audit.

npm install @affix-io/sdk

@affix-io/sdk-light

SDK Light

Millisecond AffixIO Light proofs for phones, kiosks, and ordinary hosts. AffixIO still attests digests with ML-DSA-65 and Merkle audit.

npm install @affix-io/sdk-light

How it works

Your data stays put. AffixIO returns an attested outcome.

Step 01

Prove on your host

Call @affix-io/sdk or @affix-io/sdk-light. You work with claim hashes, not raw records.

Step 02

Verify and attest

Sync to api.affix-io.com with your API key. AffixIO returns an ML-DSA-65 attestation.

Step 03

Keep an audit trail

Digests enter the Merkle trail. Offline queues flush when the network returns.

See the full flow

Common questions

Direct answers for teams evaluating privacy-preserving verification.

What does AffixIO verify?

AffixIO returns a binary eligibility result for age assurance, KYC, and policy checks. You send an identifier and circuit context. You get eligible true or false, optional signed material, and data_retained stays null on the default verify path.

Where does proof run?

Proof runs on your host with @affix-io/sdk or @affix-io/sdk-light. AffixIO verifies on api.affix-io.com and attests with ML-DSA-65. Personal data stays where it already lives.

Which SDK should I install?

Install @affix-io/sdk for local UltraHonk zero-knowledge prove. Install @affix-io/sdk-light for millisecond AffixIO Light proofs on edge devices. Both require Node.js 18+ and default to https://api.affix-io.com.

How do I get API access?

Request access at https://www.affix-io.com/request-access/ or email hello@affix-io.com. Operators manage keys at https://hub.affix-io.com/.

Is AffixIO a PII warehouse?

No. AffixIO is verification infrastructure. Your host holds source records. AffixIO returns binary outcomes, attestation, and Merkle audit digests without retaining personal data on the default verify path.

What cryptography does production use?

ML-DSA-65 per NIST FIPS 204 for attestation. Enterprise SDK uses UltraHonk over Noir via Barretenberg. SDK Light uses AffixIO Light HMAC proofs before ML-DSA signing.