Viewing keys & selective disclosure¶
Privacy that cannot be disclosed is useless to regulated money. AURA's answer is a key hierarchy: the key that moves money is separate from the keys that reveal it, so showing someone your history can never let them spend.
The key hierarchy¶
flowchart TB
ACC["AURA Account"] --> SPEND["Spending key<br/>moves money"]
ACC --> VIN["Incoming viewing key<br/>see funds received"]
ACC --> VOUT["Outgoing viewing key<br/>see funds sent"]
ACC --> NUL["Nullifier key<br/>detect which notes are spent"]
VIN --> SCOPE["Scoped view keys<br/>recipient · accountant · auditor · regulator"]
VOUT --> SCOPE
The spending key authorises transfers. The viewing keys only read. A scoped viewing key can be derived for a specific counterparty, a business, a period, or an auditor, and handed over without ever exposing the spending key.
A viewing key must never be able to spend
This is a hard requirement, not a convenience. Compromising a viewing key reveals information, and nothing more. The separation is enforced cryptographically, following the model used by systems such as Aztec (distinct nullifier, incoming and outgoing viewing keys) and STRK20 (viewing capability separate from spending authority).
Who sees what¶
| Holder | Scope | Typical use |
|---|---|---|
| You | Everything in your account | Your own app |
| A recipient | Only the transaction to them | Proof you paid |
| An accountant | A business's transactions | Bookkeeping, reconciliation |
| An auditor | A named account and period | Year-end audit |
| A regulator | Only what a lawful request covers | Supervision, investigation |
| The public | Nothing meaningful | The chain itself |
Why this matters for a business¶
A company treasury should not leak to its suppliers. With scoped disclosure:
- The CFO holds the full viewing key and sees the whole treasury.
- Supplier A sees only the payment they received, not the treasury total or what Supplier B was paid.
- The auditor is granted a viewing key for the financial year, and nothing beyond it.
The same account is private to competitors and suppliers, legible to the people who are supposed to see it, and provable to a regulator. See AURA Business on the product side.
The GDPR position¶
Because payee names and personal data never go on-chain (only addresses and enforcement state do), an erasure request genuinely removes the personal data; what remains is pseudonymous transaction data. That is the strongest position available where data-protection law meets an immutable ledger. AML-required records are retained for the statutory period regardless, and the privacy notice says so.
Status¶
Planned The viewing-key registry and the scoped-disclosure UX are designed; the key separation is a founding requirement of the private layer rather than a later addition. See Private-money architecture.