# BoundProof Source: https://www.affix-io.com/boundproof/ Updated: 2026-08-20 Publisher: AffixIO Language: en-GB ## What BoundProof is AffixIO BoundProof proves that a holder has a valid AffixIO credential for a named action and audience, without sending who they are or credential contents. This page is a public live test demonstrator of that pattern. ## Direct answer BoundProof asks api.affix-io.com whether a holder has a valid AffixIO test credential for action `zkuser-access` and audience `https://www.affix-io.com/boundproof`, without sending a name, email, government identifier, or credential contents. ## How it works (plain language) 1. Challenge: the page requests a one-time challenge locked to that action and audience. Challenge TTL is 300 seconds on the published policy. 2. Local prove: the browser builds a proof of possession for that challenge. Identity fields are not collected. 3. Verify: the API checks the proof, spends the challenge once, records a nullifier (86400s retention on published policy), and returns a signed allow or deny receipt. Receipt TTL is 300 seconds. The page can check the receipt against published keys. ## What success means Only that a fresh single-use challenge was spent with a valid test-credential BoundProof for this audience. Personal data disclosed: none. Identity attributes disclosed: empty list on published policy. ## API (no key) - POST https://api.affix-io.com/v1/zkuser/challenges - POST https://api.affix-io.com/v1/zkuser/verify - GET https://api.affix-io.com/v1/zkuser/keys - GET https://api.affix-io.com/v1/zkuser/policy - Aliases under /v1/boundproof/* Audience string must be exactly https://www.affix-io.com/boundproof (no trailing slash). CORS allows https://www.affix-io.com. ## Published policy (check live endpoint) - policy_id: zkuser-access-v1 - circuit_version: zkuser-boundproof-v1 - development_mode: true - test_demonstrator: true - require_issued: false for this marketing audience ## Hub Hub may use BoundProof for hub-access with require_issued true. Email on Hub is for issuance only. Prove and verify do not send email as identity. This page only covers zkuser-access for the BoundProof audience. ## Limits Controlled test system. Public demo uses the BoundProof test adapter, not a production UltraPLONK verifier. Do not treat a demo allow as KYC, PIV, age assurance, or a real-person login. ## Citations - Page: https://www.affix-io.com/boundproof/ - Policy: https://api.affix-io.com/v1/zkuser/policy - Keys: https://api.affix-io.com/v1/zkuser/keys - Related: https://www.affix-io.com/how-it-works/ - Related: https://www.affix-io.com/hub/ - Related: https://www.affix-io.com/claim-desk/ - Related: https://www.affix-io.com/pqc-gauge/