> ## Documentation Index
> Fetch the complete documentation index at: https://docs.confiroll.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Compliance and disclosure

> Reveal and prove a specific payout amount for an audit using a key only you hold, with a disclosure anyone can verify against the chain.

Privacy and compliance are not opposites. Confiroll keeps amounts hidden from the public and
from Confiroll itself, and you can always disclose a specific payout when an auditor needs it.
A disclosure is not just a claimed number. It is the amount plus a proof that the amount matches
the ciphertext already recorded on-chain, so an auditor can verify it independently without
trusting you, and without trusting Confiroll.

## What you see

The Compliance screen mirrors your activity, one row per payout, with a **Disclose** action on
each row and a running list of disclosures you have already produced. Select one payout or
several, disclose, and export. Everything happens on your device with the escrow key you hold.

## How disclosure works

<Steps>
  <Step title="Pick a payout">
    Open Compliance, filter to the payout an auditor is asking about, and select it. You can
    select more than one to disclose a set at once.
  </Step>

  <Step title="Disclose">
    Your device decrypts the amount using the escrow/disclosure key, a key you hold on your
    device, not Confiroll. The decryption happens locally in your browser.
  </Step>

  <Step title="Get a verifiable disclosure">
    The result is the amount plus a cryptographic proof that this amount matches the encrypted
    value already recorded on-chain for that payout. The proof ties the figure to the exact
    settlement, so it cannot be swapped for a different number.
  </Step>

  <Step title="Export for auditors">
    Export the disclosure and hand it to the auditor. They check it against the public on-chain
    data themselves. No account, no Confiroll login, and no trust in your word required.
  </Step>
</Steps>

## What a disclosure contains

<ResponseField name="payout reference">
  The on-chain settlement this disclosure is about, so the auditor can locate the exact
  transaction on the block explorer.
</ResponseField>

<ResponseField name="disclosed amount">
  The cleartext figure, decrypted on your device with the escrow/disclosure key.
</ResponseField>

<ResponseField name="matching proof">
  A cryptographic proof that the disclosed amount corresponds to the ciphertext recorded on-chain
  for that payout. This is what makes the disclosure verifiable rather than a bare assertion.
</ResponseField>

<ResponseField name="public reference data">
  The on-chain values the proof checks against, so the auditor can verify with the public ledger
  and nothing else.
</ResponseField>

## Who holds the key

<CardGroup cols={2}>
  <Card title="You hold the escrow key" icon="key">
    The escrow/disclosure key lives on your device, derived and kept on your side. Disclosure
    runs locally in your browser against public on-chain data.
  </Card>

  <Card title="Confiroll holds nothing" icon="eye-slash">
    Confiroll holds zero keys and cannot read any amount. Its servers only serve the public
    on-chain data that a disclosure is checked against.
  </Card>
</CardGroup>

<Info>
  This is the whole point of Confiroll being blind. Confiroll cannot read your amounts, and you
  can prove them. Because the disclosure is produced on your device and verified against the
  public ledger, its correctness never depends on trusting Confiroll.
</Info>

## An audit workflow

<Steps>
  <Step title="An auditor requests specific payouts">
    Your auditor names the contractors and periods they need substantiated, for example every
    payout to one contractor in a quarter.
  </Step>

  <Step title="You disclose the set">
    In Compliance, filter to those payouts, select them, and disclose. Your device decrypts each
    amount with the escrow key and builds a matching proof for each one.
  </Step>

  <Step title="You export and deliver">
    Export the disclosures as a bundle and send it to the auditor alongside the transaction
    references.
  </Step>

  <Step title="The auditor verifies independently">
    The auditor checks each disclosed amount against the on-chain ciphertext using the included
    proof. Each figure ties to a real, final settlement, so the audit stands on cryptographic
    verification rather than your assurance.
  </Step>
</Steps>

<Note>
  Under the hood, each payout carries an encrypted copy readable only by the holder of the
  escrow/disclosure key. You hold that key, and disclosure happens on your device against the
  public on-chain data. See
  [Confidential token flow](/developers/confidential-token-flow) for exactly what is encrypted and
  how the matching proof is formed.
</Note>

## FAQ

<AccordionGroup>
  <Accordion title="Can Confiroll disclose a payout on my behalf?">
    No. The escrow/disclosure key is yours and stays on your device. Confiroll holds zero keys
    and cannot read any amount, so it has nothing to disclose. Only you can produce a disclosure,
    and you produce it locally in your browser.
  </Accordion>

  <Accordion title="Is a disclosure independently verifiable?">
    Yes. A disclosure is the amount plus a proof that the amount matches the on-chain ciphertext
    for that payout. An auditor checks the proof against the public ledger. They do not need to
    trust you, and they do not need to trust Confiroll. The math either verifies or it does not.
  </Accordion>

  <Accordion title="Can I disclose many payouts at once?">
    Yes. Filter to the payouts an audit covers, select the set, and disclose them together. Your
    device decrypts each amount and builds a matching proof for each, and you export the whole set
    as one bundle to hand off.
  </Accordion>

  <Accordion title="What does the auditor actually receive?">
    A bundle of disclosures. Each one names the on-chain payout, states the cleartext amount, and
    includes a proof that the amount matches the on-chain ciphertext, plus the public reference
    data to check against. The auditor verifies each figure against the public ledger and ties it
    to a final settlement.
  </Accordion>
</AccordionGroup>
