Skip to content
Logo

Who sees what

On the device

The signing keys never leave the device, nor does the seed they come from, except sealed. The balances, activity and notes the wallet has read are kept sealed under a key from the wallet's root.

Services

WhoIs sentCan learn
Proving serviceThe action, its signature, the account's address and viewing keyThe account's private balance and history. It can't spend.
RelayerThe action's size, then the proven actionNothing beyond what the chain shows once it is sent.
IndexerThe account's address, and which parts of the pool are readThe account's public activity. With no key, it can't tell which notes are the account's.
Starknet nodeReads and public transactionsWhich addresses are read.
Passkey vaultThe sealed seedNothing: it can't open the seed.
EkuboA swap's tokens and amountNot the account.
Starknet Foundation's proverA deposit's proving request, viewing key includedThe same as the proving service, for accounts that shield.

Every service sees the IP address requests come from.

On chain

ActionWhat is public
Private paymentThat the pool was used. Not who sent it, the amount or the token.
Private swapThe swap itself, made by a helper contract. Not who swapped.
WithdrawalThe address it goes to, the token and the amount. The sender is encrypted for the auditor.
Setting upThat the account uses the pool.
ShieldingThe account, the token and the amount it moves in.

Setting up, shielding and withdrawing in quick succession can link them. See STRK20 by Example's known privacy limitations.

The auditor

STRK20 is private from the public, not from lawful oversight. […] When a user registers (SetViewingKey), their private viewing key is encrypted to the auditor's public key […] and stored on-chain. […] Disclosure is selective: the auditor decrypts only the viewing keys of users subject to a lawful request.

— STRK20 by Example, Compliance & Auditing

Outis doesn't hold the auditor's key, and has no part in disclosure.