Data Classification Map
Which data sits in which sensitivity tier, where it lives, and the specific controls each tier obliges — so protection follows the label automatically.
flowchart LR
subgraph t4["Restricted"]
direction TB
a1["Card PAN · health records<br/>government ID images"]
a2["<i>controls:</i> tokenise at edge<br/>field encryption · CMK<br/>no non-prod copies<br/>access JIT + approved<br/>full audit"]
end
subgraph t3["Confidential"]
direction TB
b1["Personal data · salary<br/>contracts · pricing"]
b2["<i>controls:</i> encrypt at rest + transit<br/>masked in non-prod<br/>RBAC + quarterly review<br/>DLP on egress"]
end
subgraph t2["Internal"]
direction TB
c1["Operational metrics<br/>internal docs"]
c2["<i>controls:</i> authenticated access<br/>standard retention"]
end
subgraph t1["Public"]
direction TB
d1["Published pricing<br/>marketing content"]
d2["<i>controls:</i> integrity only"]
end
t4 --> s1[("Core DB · EU · Restricted")]
t3 --> s1
t3 --> s2[("Warehouse · EU · Confidential")]
t2 --> s2
t2 --> s3[("Object store · Internal")]
t1 --> s3What it is
The tier ladder, what belongs in each tier, and — the part that makes it operational rather than a policy restatement — the specific controls each tier obliges. Once a dataset is labelled, its encryption, masking, access review cadence, retention and non-production rules follow without further debate.
Four tiers is right. Two is too coarse to drive different controls; six produces arguments about the boundary and inconsistent labelling.
When you produce it
Before a data platform is built, during any regulatory remediation, and whenever someone asks whether a particular dataset can be copied into a test environment and there is no way to answer.
Who reads it
Security and data governance, who own it. Engineers, who implement per-tier controls once instead of per-dataset. Auditors, who check that the label and the actual control agree.
What good looks like
- Controls are concrete and testable per tier, not "appropriate measures".
- The mapping from tier to storage location is drawn, so residency and co-location are visible.
- Derived data inherits the highest tier of its inputs unless a stated transformation lowers it — and the transformation is named.
- Labels are applied in the catalogue and enforced automatically, not written in a spreadsheet.
Common mistakes
- Tiers with no distinct controls, so labelling changes nothing.
- Classifying at system level rather than dataset or column level, forcing the whole system to the highest tier.
- Ignoring aggregation. Several Internal fields joined can identify a person, which is a Confidential output from Internal inputs.
- Never re-labelling. Sensitivity changes; an annual review belongs in the process.