Skip to content

Tutorials

These tutorials are lessons. They use the repository's deterministic synthetic data so you can perform an action, see the result, and connect that result to the next layer of the project.

Follow them in order the first time. Each tutorial assumes the result of the previous one.

Note

The records use reserved example.invalid values, but the project governs them as if they were real Personal Data. Pseudonymized values are still Personal Data; they are not anonymous.

Start here

  1. Build and explore the demo establishes a working build and checks the fixture counts.
  2. Follow a customer through the layers traces one identity from readable source fields to protected analytical keys.
  3. Trace an invoice into quarantine follows one invalid source record through the deterministic classifier.
  4. Observe terminal deletion shows why a later upsert cannot resurrect a deleted customer.
  5. Prove a protected-layer invariant runs the metadata tests that reject forbidden names and readable-data tags in protected schemas.

At the end, you will have encountered the project's main flow:

synthetic seeds -> Layer1 -> priva_map -> Layer2 -> Layer3 -> controlled case views
                      \-> quarantine

The priva_map is the separately governed mapping area that holds readable values beside stable pseudonymous keys. The protected layers use the keys, not the readable values.

When you already know the project

Use the how-to guides when you have a real task to complete. They are shorter, assume familiarity, and do not repeat the learning journey.

For the reasons behind the layer boundaries, read Architecture and trust boundaries.