You cannot govern what you cannot see
Session 2 gave you the obligations. But an obligation you can't locate in your own systems is a promise you can't keep. Right now Himalaya cannot answer the regulator's simplest question - "what personal data do you hold, where, and why?" - because its PII is scattered across 40+ Redshift schemas and 3 SaaS tools with no catalog. Today is the visibility session. We build the three artifacts that turn "it's all in the warehouse somewhere" into a defensible, searchable, current picture: a Record of Processing (RoPA), a data-flow map with classification, and the metadata layer (catalog, glossary, lineage) that keeps it all findable.
The Record of Processing (RoPA) 7 min live
The Record of Processing Activities is the DPO's foundational artifact. It's the master inventory of everything your organisation does with personal data - one row per processing activity, capturing the facts a regulator (and you) will ask for. Under the GDPR (Article 30) it's an explicit obligation for many organisations; under the PDPA the Accountability Obligation drives the same practice. Either way: no RoPA, no real visibility.
LiveWhat a RoPA is and why it's foundational3 min▶
A RoPA is a structured inventory: one row per processing activity, each row answering the same eight questions. It is the artifact every other governance activity depends on - you can't build a retention schedule, a transfer register, or a breach assessment without first knowing what activities exist and what data they touch.
- It's the DPO's single source of truth for "what do we do with personal data." When Mara (CEO) or the PDPC asks, you read from the RoPA, not from memory.
- It's activity-centric, not system-centric. One system (Redshift) hosts many activities; one activity (marketing) can span several systems. You inventory the activities.
- It directly satisfies part of the Accountability Obligation - being able to demonstrate, on paper, what you're doing and why.
Himalaya's first RoPA row. Activity: "send booking confirmations." Data categories: consumer name, phone, booking details. Subjects: end consumers. Purpose: fulfil the booking. Lawful basis: contract (deemed consent under PDPA). Recipients: the SMS gateway. Retention: 12 months. Transfers: none. One row, eight facts - and suddenly a fuzzy "we text people stuff" becomes something you can defend or fix.
LiveBuild it incrementally, not perfectly2 min▶
New DPOs freeze trying to build the perfect complete RoPA on day one. Don't. A RoPA is a living record you grow and correct over time - a wrong-but-written row beats a perfect-but-imagined one.
- Start with the highest-risk activities - the ones from your Session 2 top-3 (marketing, the US analytics feed, keep-everything retention).
- Interview the activity owners: Deven (CPO) for product data, Ilsa (CRO) for marketing, Raj (Head of Data) for the warehouse and pipelines.
- Mark unknowns as open questions in the row rather than leaving it blank - a documented gap is itself governance progress.
- Set a review cadence. The RoPA drifts the moment engineering ships a new source; a quarterly refresh keeps it honest.
Self-studyController vs processor entries - Himalaya is both2 min read▶
The controller/processor roles from Session 1 shape your RoPA. The duties and the record differ depending on which hat Himalaya wears for a given activity - and in a B2B2C platform, it wears both.
| Role for the activity | What the RoPA row captures · Himalaya example |
|---|---|
| Himalaya as controller | Full detail: purposes, lawful basis, retention it decides. Its own platform analytics and marketing to consumers. |
| Himalaya as processor | Whose instructions it acts on, and the controller it serves. Hosting a wellness client's consumer health notes on that client's behalf. |
Keep separate RoPA entries for controller activities and processor activities. When the PDPC or a client asks "on what basis do you hold this?", the answer for processor data is "on our client's instructions, under our contract" - a very different answer from your controller data, and one you must be able to point to.
Data mapping & classification 7 min live
A RoPA tells you what activities exist. Classification tells you how much each dataset matters, and data-flow mapping shows you where it goes. Together they turn a flat inventory into a risk-ranked map - the thing that tells you which controls to put where.
LiveClassify by sensitivity tier3 min▶
Reuse the ladder from Session 1, now as an operational label you stamp on every dataset. Classification is what lets you apply proportionate controls - you don't guard a public metrics table the way you guard health notes.
| Tier | What lands here · Himalaya example |
|---|---|
| Public | Freely shareable. Aggregate platform stats, marketing content. |
| Internal | Business data, not personal. Contract terms, client billing config. |
| Personal | Data about an identifiable person. Consumer name, email, phone, purchase history. |
| Sensitive / prescribed | Highest duty. Wellness health notes, payment tokens, NRIC-style national IDs, credentials. |
Raj's team labels a schema "analytics" and treats it as low-stakes. But it carries a consumer_id joinable to email one schema over, plus a copy of wellness-client health notes for a churn model. That's not internal data - it's sensitive/prescribed, and mislabelling it is why the near-miss export was so damaging. Classification catches this before a breach does.
LiveData-flow mapping - trace it across systems2 min▶
A data-flow map follows a category of personal data from where it enters to everywhere it ends up. It's the map that makes transfer and retention risks visible - a field you never drew is a field you can't govern.
- Pick a data category (say, consumer contact details) and trace it end to end: collected in the product module → landed in Redshift → copied to the marketing SaaS → sent to the US analytics vendor.
- Mark every cross-border hop and every third-party recipient - these are your Transfer Limitation and disclosure points.
- Note where data duplicates. Copies multiply risk: each place the data rests is another place it can leak or must be deleted.
Self-studyHow classification drives controls2 min read▶
Classification is not paperwork for its own sake - the tier a dataset carries decides the controls it earns. This is the bridge between today's mapping and the protection work in Sessions 5 and 6.
| If the tier is... | The controls that should follow |
|---|---|
| Personal | Access on need-to-know, retention limit, logged access, standard encryption. |
| Sensitive / prescribed | All of the above, plus masking/tokenisation, tighter access, shorter retention, and a lower breach-notification threshold. |
| Any tier crossing a border | Transfer safeguards (comparable protection / SCCs) before the data moves. |
So classification isn't an academic label - it's the input that tells your engineers which masking, which access rule, and how long to retain. A dataset with no tier is a dataset with no defined controls, which is exactly how the near-miss happened.
The metadata layer: catalog, glossary, lineage 6 min live
The RoPA and the flow map are only as current as the last person who updated them by hand. The metadata layer is how you scale visibility past a spreadsheet: three connected capabilities - catalog, glossary, and lineage - that make your data self-documenting. These are the DPO's power tools. We teach the capabilities, not any one vendor's screens - the tool academies (Collibra, Alation) stay official.
LiveData catalog - the searchable inventory2 min▶
A data catalog is a searchable index of your data assets - tables, columns, dashboards, files - with descriptions, owners, and classification tags attached. Think of it as a library catalogue for the warehouse: it answers "where does consumer email live?" in seconds, across all 40+ schemas.
- It discovers and indexes assets automatically, so it stays closer to current than a hand-kept spreadsheet.
- It's where your classification tags from Part 2 live at scale - tag once, and every downstream copy inherits the sensitivity label.
- It carries ownership - the named data owner/steward for each asset (formalised in Session 7).
When Tom (VP Customer Success) fields an angry consumer asking "what do you have on me?", today it's a week of Raj grepping schemas. With a catalog, you search the consumer's data category, see every asset tagged with it, and answer the access request in an afternoon. The catalog turns a fire drill into a lookup.
LiveBusiness glossary - shared meaning2 min▶
A business glossary is the agreed definition of the terms your organisation uses, linked to the physical data that implements them. It closes the gap between what the business says and what the columns actually hold.
- It defines terms like "active consumer," "wellness client," or "prescribed data" once, so everyone means the same thing.
- Each glossary term links to the physical assets in the catalog - so "health note" as a concept points to the exact columns that store one.
- For a DPO it's how you make "sensitive/prescribed data" a precise, enforceable label rather than a fuzzy idea people interpret differently.
Self-studyData lineage - flow for impact and audit2 min read▶
Data lineage traces data at the column and table level - where each field came from, what transformed it, and everywhere it flows downstream. It's the machine-generated version of the flow map you drew by hand in Part 2.
- Impact analysis: before you delete or change a field, lineage shows every downstream table, dashboard, and export that depends on it - so a retention deletion doesn't silently break a report.
- Audit trail: when the PDPC asks "how did this consumer's data reach the US vendor?", lineage is the documented answer, hop by hop.
- Breach scoping: lineage lets you trace exactly which downstream copies of an exposed table exist - the difference between "we think" and "we know" during a breach (Session 5).
Note the honesty rail: Collibra and Alation are the well-known platforms that provide catalog, glossary, and lineage together, but their hands-on configuration and vendor academies stay official. This course teaches the tool-agnostic capabilities so you can evaluate and direct any of them as the DPO - not operate one specific product.
Build Himalaya's RoPA + classify its datasets ★ 19 min · on Himalaya
Time to make the invisible visible. You'll pick five of Himalaya's data stores, write a RoPA row for each, classify every dataset by tier, and decide which one you'd catalog first. This is the artifact that feeds every remaining session - the marketing fix (S4), the breach tabletop (S5), and the retention and transfer clean-up (S6) all read off this.
Himalaya - B2B2C SaaS, Singapore-headquartered, 8M end consumers, 1,200 business clients. Data lives in a Redshift warehouse (40+ schemas), the product modules, a CRM SaaS, a US-hosted marketing automation SaaS, and a support tool. C-side data includes name, email, phone, address, purchase history, in-app behaviour, payment tokens, and - for wellness-vertical clients - health notes. SG clients collect NRIC-style national IDs. No catalog exists. You're the DPO, building visibility from zero.
Pick 5 data stores. Choose the five that matter most: the Redshift consumer schema, the marketing SaaS, the wellness-client health-notes store, the CRM, and the payment-token store. Write them down as your five RoPA rows-to-be.
Write a RoPA row for each. Fill the eight fields per store: activity, data categories, data subjects, purpose, lawful basis, recipients, retention, transfers. Where you don't know, write "open question" - a documented gap counts.
Classify each dataset by tier. Stamp each store: public / internal / personal / sensitive-prescribed. Most C-side stores are personal; be honest about which cross into sensitive.
Flag the sensitive tier. Circle the stores holding wellness health notes, payment tokens, and NRIC-style IDs. These get the tightest controls and the lowest breach threshold - they're your protection priority.
Mark controller vs processor, and pick your first catalog target. For each row note whether Himalaya is controller or processor. Then choose the one store you'd catalog first - almost always the highest-sensitivity, highest-exposure one (the health notes feeding a US-bound analytics copy).
Try it yourself - this week ◐ 30-45 min total
- Build a starter RoPA for your own organisation - five stores, eight fields each. Mark the open questions honestly; you'll fill them in over the coming weeks.
- Classify each of those five datasets into a sensitivity tier, and circle anything that reaches sensitive/prescribed. That's your protection priority list.
- Draw a one-page data-flow map for one personal-data category you touch - collection point to every downstream copy and recipient. Mark each cross-border hop.
- For one dataset, mark whether your organisation is acting as controller or processor, and write the one sentence you'd give a regulator about the basis on which you hold it.
- Optional: look at how a data catalog describes assets (browse the concept, not a specific vendor's setup) and note which of your stores would benefit from being cataloged first.
What this session covers
This session teaches the working practice of the artifacts and capabilities below. Vendor tool configuration and certification exams stay with their official academies - this page makes you fluent in the body of knowledge, honestly flagged where depth lives elsewhere.
Three questions before you go 🎯 ◐ 90 seconds
1 · You've written Himalaya's RoPA. When is it "done"?
A RoPA is a living record. Every new data source, vendor, or purpose means a new or edited row. A stale RoPA gives false confidence.
2 · A table has no names, only a consumer_id, but the id maps to email one schema over. How do you classify it?
Pseudonymised data (reversible with a key) is still personal data. If it also carries health notes, it's sensitive/prescribed - never "internal."
3 · Before deleting a field for retention, what does data lineage give you?
Lineage traces column/table flow, so it shows the downstream impact of a change - so a retention deletion doesn't silently break a report or export.