By design, everything is public on the blockchain, which can deprive users from their right to privacy. Anyone can have access to everyone’s whole transaction history. In response to this core problem,Tornado.Cash protocol allows cryptocurrency holders to earn back their privacy and gain anonymity. Indeed, it enables users to break the on-chain link between a source and a destination address.
However, maintaining privacy and preserving financial freedom should never come at the expense of non-compliance. The right of privacy lies in the ability to have control over the information we provide and to whom we provide it. 
To this extent, **Tornado.Cash Compliance Tool enables users to prove the origin of their funds.** Thanks to the Note generated after each deposit, **this tool will issue a cryptographically verified proof of transactional history** using the Ethereum addresses used to deposit & withdraw assets.
You can visit the Medium post related to this tool to learn more about its development and launch: [**Tornado.Cash compliance Medium Post**](https://tornado-cash.medium.com/tornado-cash-compliance-9abbf254a370).
Therefore, if you are ever in need to prove the origin of held assets withdrawn from one of Tornado.Cash pools, we invite you to use the following [Compliance Tool](https://app.tornado.cash/compliance/):
With each deposit made through the [Tornado.Cash app](https://app.tornado.cash), a new Note is generated by the protocol. This Note is necessary to withdraw the deposited assets later on any withdrawal address. It is this same Note that, if needed, allow users to generate a Compliance Report to prove the origin of their assets.
If the Note wasn't spent yet (i.e. assets have still not been withdrawn), the Compliance tool will only provide you with information about the deposit:
The commitment is the hashed random area of bytes generated at each deposit that is sent to Tornado.Cash smart contract to characterize the transaction.
_You can find more information about how Tornado.Cash achieve to provide privacy by reading _[_How does Tornado.Cash work?_](how-does-tornado.cash-work.md)__
If the Note was spent (i.e. assets were withdrawn to a given address using the Note), the Compliance Tool will complete the information above by adding: