Disclosure controls which transaction attributes appear in the public/on-chain portion of a private operation. Auditors still receive encrypted audit payloads; disclosure decides what is additionally visible as plaintext metadata according to your compliance design.

What disclosure controls

Each operation intent includes a disclosure object with four fields: Each field is either 'public' or 'private'.

Public vs private

Disclosure is a product and compliance choice within the constraints of each operation route.

”Both” in route reference tables

Some reference tables in this documentation show both for a field (for example withdraw sender). Both is not a third API value — it means the route accepts either public or private for that field. The network preset policy adapter rejects invalid combinations with unsupported_disclosure during prepare.

Route constraints

These rules apply across presets at the domain level: Concrete enforcement lives in the network preset policy module. Adjust disclosure before calling prepare — do not rely on execute-time fixes.

Per-operation reference

Deposit

Sender, asset, and amount are public. Recipient stays private because the deposit creates a private pool note.

Withdraw

Sender may be public or private. Payout to a public wallet requires recipient, asset, and amount to be public.

Transfer to registered recipient

Sender may be public or private. Recipient, asset, and amount stay private for fully private transfers between registered users.

Transfer to unregistered recipient

Pending-claim onboarding requires sender, asset, and amount to be public so indexers and compliance services can process the claim before registration completes.

Choosing disclosure in your product

  • More public fields — simpler reconciliation, clearer compliance signals, less privacy on those attributes.
  • More private fields — stronger privacy; ensure your audit and KYT configuration supports the route.
Read Security and privacy for where disclosed fields appear relative to encrypted audit data.

Operations

How each operation uses disclosure.

Security and privacy

Local storage vs on-chain visibility.

Operation lifecycle

When policy errors surface.