Pattern A — async public decryption — reveals the cleartext
eligible/blocked bit by design. This is the minimum
disclosure required for a non-confidential mock token to act
on the result. It is not a free disclosure: across many
checks, eligible/blocked outcomes correlate with private
attributes and can leak information about them.
We treat this as a disclosure to be managed, not denied. Production deployments are expected to pair AttestRail with:
- Per-wallet rate limits on eligibility checks.
- Batched check finalization across multiple users.
- Issuer-initiated decoy checks to break attribute-to-outcome correlation.
- Migration to confidential balances and
FHE.select-gated transfers where even the boolean outcome is too sensitive.
The Builder MVP documents this exposure in its architecture
and pitch rather than claiming full privacy under sustained
observation.