One of the most common sources of confusion when building on Midnight is the question of privacy. Developers expect that marking something as "not exported" or keeping it off the main interface will make it private. It does not. On Midnight, privacy is a deliberate design decision that requires using the right tools at the right layer. This tutorial gives you a clear framework for making that decision. By the end, you will understand the three layers of data in a Midnight smart contract, when to use disclose() , the difference between shielded and unshielded tokens, and the common mistakes that accidentally leak private information. Prerequisites Midnight toolchain installed ( installation guide ) Basic familiarity with Compact. If you have not worked through the hello world tutorial, start there Node.js installed for running tests The three layers of data Every Midnight smart contract works with data at three distinct layers. Getting clarity on these layers is the foundation of good privacy design.…