> For the complete documentation index, see [llms.txt](https://vayyl.gitbook.io/vayyl-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://vayyl.gitbook.io/vayyl-docs/concepts/policy-and-disclosure.md).

# Policy and Selective Disclosure

Financial privacy and policy enforcement do not have to be opposites. Vayyl's direction is to prove the minimum fact required by a policy without publishing a user's complete history.

## Association sets

An Association Set Provider (ASP) publishes a policy-defined set. A user proves that an eligible identity or deposit belongs to the accepted set—or is absent from a blocked set—without exposing the private Merkle path.

Different applications may select different providers or policies. The protocol should not hardcode one universal list as the definition of acceptable activity.

## Viewing capabilities

Planned viewing capabilities separate spending authority from visibility:

* **incoming view access** for discovering received notes;
* **full view access** for reconstructing selected wallet activity;
* **scoped disclosures** for a transaction, time range, asset, or application;
* **spending keys** that remain exclusively with the user.

The exact key hierarchy is a security-critical design item and is not implemented by the current Vault.

## Proof of policy, not publication of identity

A future institution-facing flow can combine a private transaction proof with an ASP proof or an externally issued credential proof. Contracts verify the policy result; identity documents remain outside the public ledger.

This direction follows the configurable privacy-pool model described in [Stellar's privacy documentation](https://developers.stellar.org/docs/build/apps/privacy) and the [Privacy Pools paper](https://privacypools.com/whitepaper.pdf).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://vayyl.gitbook.io/vayyl-docs/concepts/policy-and-disclosure.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
