Trust boundaries
Stored locally (SDK state)
The SDK cache on the client may contain:- private records and
coinNotesecrets/nullifiers - wallet private-address records and scalars
- pool commitment snapshot and Merkle root
- registry lookup cache
- asset catalog rows
Published on-chain
Depending on the operation and disclosure policy, chain-visible data can include:- note commitments and nullifiers
- disclosed sender/recipient/asset/amount fields
- encrypted audit event payloads
- output note events (ciphertext for note delivery)
- note secrets and nullifier preimages
- wallet authorization scalars used only during preparation
Visible to auditors
Auditors authorized for your application receive:- Encrypted audit blobs — decryptable with auditor keys configured in your audit infrastructure
- Publicly disclosed fields — exactly those marked
publicin the operation disclosure
KYT and passage registry
When KYT is configured on the network preset, the SDK may submit a passage inspect request before submission. High-level payload contents include hashed public signals and passage metadata — not local note secrets. The integration fails closed: if compliance rejects the passage, execute stops before submission.Wallet signing surface
Prepare/execute may request:- Message authorization — proves control of a private payment address
- Transaction signing — signs the prepared transaction payload for the target network
Integrator checklist
Before production:- Persist SDK state per wallet with an explicit security review of your storage medium
- Sync pool state and private records from trusted indexers, not manual fixtures
- Configure disclosure defaults per operation route with compliance input
- Keep audit public keys and application IDs in environment configuration, not source control
- Test KYT failure paths — users should see actionable errors, not silent retries
- Never log note secrets, scalars, or decrypted audit plaintext in client analytics
Related
Disclosure policy
Field-level visibility rules.
Data sources
Trusted production data flows.
Domain model
Entities stored in SDK state.