Skip to content

Privacy threat model

This page states plainly what AURA Privacy hides, what it does not, and how the residual risks are handled. AURA promises confidentiality and selective disclosure, not anonymity, and the honesty is deliberate.

What is hidden, and what is not

Property Status
Balance Hidden from the public
Transaction amount Hidden inside the private pool
Sender and recipient link Hidden inside the private pool
Payee names and personal data Never on-chain
That a shield or unshield happened Visible (the edges of the private layer)
Transaction timing Visible, and can enable correlation
Which contracts or addresses you query Visible to your RPC provider unless mitigated

The entries in the bottom half are the honest residual: a public settlement network cannot make them vanish. They are managed, not denied.

The linkage risks, and the mitigations

flowchart TB
    E["Deposit / withdraw edges"] --> R["Privacy-aware routing"]
    T["Timing correlation"] --> R
    A["Amount fingerprinting"] --> R
    R --> OUT["Batching · delay · standard denominations · avoid in-then-straight-out"]
    Q["RPC leaks which addresses you read"] --> PR["AURA PrivateRPC gateway"]
    I["Indexer as a plaintext honeypot"] --> ENC["Encrypted, owner-decryptable index"]
  • Edges and timing. A deposit immediately followed by a matching withdrawal is easy to link. AURA Flow manages the privacy lifecycle (batching, delay, avoiding straight-through patterns) rather than treating a shielded transfer as automatically unlinkable.
  • Private reads. Ordinary RPC queries reveal which addresses and contracts a user inspects. AURA PrivateRPC routes reads through a privacy gateway so a private transfer is not undone by a leaky lookup. Ethereum's own roadmap names private reads as a core problem.
  • The indexer. AURA's indexer must never become a plaintext database of everyone's finances. Notes are stored encrypted and are decryptable only by the owner or an authorised viewing key.
  • The backend. For non-custodial privacy, as much transaction data as possible stays encrypted or client-side, so the database is not itself the privacy boundary.

What AURA will not claim

Confidential, not anonymous

No system on a public network can promise that nobody ever learns anything. AURA commits to confidentiality of balances and relationships plus selective disclosure, minimises metadata, and discloses the limits rather than pretending they do not exist. It is built so that a lawful request reaches the right records, not an empty set.

Required before real value

Mirroring the contract suite's pre-mainnet checklist, the private layer adds its own gates:

  • [ ] Independent audit of the privacy contracts and the ZK circuits
  • [ ] Proving-system security review (soundness, trusted-setup assumptions)
  • [ ] Metadata and correlation testing of the routing and edges
  • [ ] Private-RPC and indexer reviewed as part of the privacy boundary
  • [ ] Viewing-key and disclosure flows threat-modelled on their own terms

Until these are met, AURA Privacy stays on testnet. See Implementation status.