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.