Privacy with accountability. Veil supports both timelocked viewing keys for retroactive auditing and Privacy Pools for proving funds aren't from sanctioned sources — without revealing your identity.
Based on Vitalik Buterin's 2023 paper , Privacy Pools let users prove their deposited funds aren't from sanctioned or stolen sources — without revealing which deposit is theirs.
An Association Set Provider (ASP) screens deposits and publishes a curated subset of "approved" commitments. When withdrawing, a second ZK proof shows your commitment exists in the approved subset tree.
Deposit ASP Screening Withdraw
─────── ───────────── ────────
│ │ │
│── commitment ───▶│ │
│ │── screen ───▶ │
│ │── approve ───▶ │
│ │ (subset tree) │
│ │ │
│ │ ◀── subset proof ──│
│ │ (ZK: "I'm in │
│ │ the clean set")│
│ │ │
privacy compliance without funds clean
preserved breaking privacy + privateNo commitments have been screened yet. Deposit into the pool to see them auto-approved (demo mode).