Data Classification for SaaS Without Over-Engineering It
Most SaaS data classification schemes are too complex to follow. Here is a scheme people actually use, and the handling rules that make it worth having.
By Kellwick Team · August 7, 2026 · 5 min read
Data classification is where good intentions go to die. A team reads that they need it, builds a five-tier scheme with detailed handling matrices, publishes it, and then nobody classifies anything. Twelve months later the scheme exists only in a policy document, and the data flows the way it always did.
The goal is not an elegant taxonomy. The goal is that people make better decisions about data without having to think hard. This post covers how to build a scheme that survives contact with a busy engineering team.
Why most schemes fail
The failure mode is almost always the same: too many tiers, too much labelling, no connection to daily work.
A scheme with five or six levels forces people to make fine distinctions they cannot make quickly. Is this "confidential" or "restricted"? If a competent engineer has to stop and deliberate, they will either guess or ignore the scheme entirely. Both outcomes are worse than a coarser scheme applied consistently.
The second failure is demanding that every document, table, and message carry a label. Manual labelling at that scale does not happen. People forget, and the unlabelled majority becomes the norm.
The third failure is the deepest. A classification scheme that does not change how data is handled is just vocabulary. If "confidential" and "internal" data are stored in the same place, with the same access, encrypted the same way, then the labels mean nothing operationally. Classification only earns its keep when each level maps to different handling.
Three or four levels is usually enough
For a 50-250 person SaaS or fintech company, three levels covers most needs, and four is the practical ceiling.
A workable set:
- Public. Information you have deliberately released or would not mind releasing. Marketing content, published docs, open-source code.
- Internal. The default for ordinary business information. Not secret, but not for outside eyes. Internal wikis, most Slack, planning docs.
- Confidential. Information that would cause real harm if exposed. Customer personal data, credentials, security architecture, contracts, financials.
Many fintech and payment companies add a fourth tier above confidential for the small set of data with regulatory or contractual weight: cardholder data, certain personal data categories, encryption keys. Call it Restricted and keep it genuinely small. If half your data lands in the top tier, the tier has lost its meaning.
Set Internal as the default. Anything not classified is treated as Internal. This one rule removes the pressure to label everything, because the unlabelled state is already a sane baseline.
Classify by location, not by document
The insight that makes classification practical: classify the container, not the item.
Trying to label individual files and records does not scale. Instead, decide the classification of the place data lives, and let everything in that place inherit it.
- This S3 bucket holds customer data, so the bucket is Confidential, and everything in it is treated as Confidential.
- This production database is Confidential.
- This Notion space is Internal.
- This public documentation site is Public.
Now an engineer does not classify data. They make one decision: where does this data belong? That is a decision they were already making. You have attached classification to an action they already take, rather than adding a new task.
This also makes enforcement tractable. You cannot technically enforce a label on a paragraph inside a document. You can enforce access controls, encryption, and logging on a bucket or a database. Location-based classification lines up with the controls you actually have.
The main thing to watch is data movement between containers. When someone exports Confidential data from the database into a spreadsheet in an Internal drive, the data has effectively been downgraded without a decision being made. Your handling rules need to address this directly, and it is worth a specific line in the policy: data carries the classification of its most sensitive source.
Handling rules are the point
The classification level is only useful because of what it tells you to do. Write a short handling matrix that maps each level to concrete requirements across a few dimensions.
Keep it to the dimensions that matter for your environment. For most SaaS teams:
- Access. Who can reach it, and how is that access granted and reviewed.
- Storage. Where it may live, and encryption requirements at rest.
- Transmission. Encryption in transit, and whether it may leave your systems.
- Sharing. Whether it may go to third parties, and under what agreement.
- Retention and disposal. How long it is kept and how it is destroyed.
A Confidential row might read: access on a need-to-know basis with quarterly review, encrypted at rest, TLS in transit, shared with third parties only under a signed data processing agreement, retained per the data retention schedule, deleted via verified deletion.
The value of writing this down is that it turns classification into decisions. When someone asks "can we put customer data in this new analytics tool," the answer is not a debate. It is a lookup: customer data is Confidential, the handling rules say third-party sharing requires a DPA and access review, so those are the conditions. The scheme does the arguing for you.
Keep it alive
A classification scheme is not a one-time deliverable. Data stores change, and the scheme has to keep pace.
Two habits keep it honest.
First, tie classification into how you add infrastructure. When a new data store is provisioned, classifying it should be part of standing it up, the same way you would set up backups or monitoring. If classification is bolted on later, it drifts immediately.
Second, review the container inventory periodically. A short quarterly pass to confirm each significant data store still has the right classification, and that no major new store has appeared unclassified, is enough. This inventory also happens to be exactly what an ISO 27001 auditor will ask to see when they probe how you manage information assets.
Resist the urge to keep adding levels and dimensions. Complexity is not maturity. A three-tier scheme that every engineer applies without thinking is worth more than a beautiful seven-tier scheme that lives only on paper.
Bottom line
Data classification works when it is coarse enough to apply without deliberation, attached to locations rather than documents, and connected to handling rules that actually change what people do. Three or four levels, Internal as default, classify the container, and write down the handling rules that make the levels mean something.
If your current scheme has more tiers than anyone remembers or does not connect to real controls, a Kellwick readiness review can help you simplify it into something your team will use and an auditor will respect.
Where this fits
ISO 27001
Pass the audit. We find what blocks Stage 1 before the certification body does.
Read the ISO 27001 hubNeed a second pair of eyes before the auditor does?
A readiness review shows exactly where your ISMS stands - and what to fix first - while there is still time to act on it.
Stay audit-ready
Occasional, practical notes on ISO 27001 readiness and ISMS maintenance. No noise.