0% 0% 0% 0%

ASP compliance

Index ▾
  1. 01. Concepts
  2. 02. Contracts
  3. 03. pool
  4. 04. policy
  5. 05. viewkeys
  6. 06. verifier
  7. 07. Circuits
  8. 08. Features
  9. 09. Shielded send
  10. 10. Deposit & withdraw
  11. 11. Consolidate & split
  12. 12. Shielded swap & pay
  13. 13. Escrow
  14. 14. Payment channels
  15. 15. Payroll & subscriptions
  16. 16. Auditor disclosure
  17. 17. ASP compliance
  18. 18. Cloud runtimes

ASP compliance

Privacy and compliance hold at once. Every shielded transfer proves in-circuit that its funds are clean — without revealing the transaction graph.

Approved-set membership

An Association Set Provider (ASP) publishes a depth-20 Poseidon approved-set root (held in the policy contract). Each transfer proves owner_pk ∈ asp_root — that its funds trace to a depositor in that approved set, without revealing which one (and the set has more than one member). Shielded funds are provably clean; the graph stays private.

What you see in the app

Compliance status surfaces on Send / Withdraw as a check, not a flag that partitions users. The proof is part of the normal spend — there’s no extra step and no disclosure of who you transacted with.

On mainnet

This extends to denied-set non-membership (freeze bad actors at withdrawal time), and the approved-set root moves under governance/multisig control.

Distinct from auditor disclosure: compliance is automatic and reveals nothing; disclosure is opt-in and scoped.