VaultISO 27001ISO 27001 Annex A 8.33: protect test data without exposing production
ISO 27001 · A.8.33

ISO 27001 Annex A 8.33: protect test data without exposing production

Test information

Harry WestFounder & CEO18 August 202311 min read
Inside This Article
What does ISO 27001 Annex A 8.33 test information require?Is a leaked staging database a UK GDPR personal data breach?How do you manage ISO 27001 Annex A test information safely?What counts as anonymisation, and what is just cosmetic masking?How do you automate test data controls so nobody can dump production?What audit evidence proves test information is controlled?How do auditors sample test environments, and when does a gap grade major?What does a working test data discipline look like in two weeks?Frequently asked questions
Book a discovery call

Key takeaways

Annex A 8.33 sets a default and an exception: test on synthetic or anonymised data, and gate any copy of production with authorisation, masking, protection and deletion. A 25–250-person firm can run this with a fixture library, a masking script and a ticket type. Auditors sample live test databases and trace real data back to its approval.

Default rule
Personal and sensitive data stays out of development and test; teams use synthetic or anonymised datasets unless realism genuinely demands live records.
Exception path
Each production copy needs its own named approver, recorded scope and expiry, masking of sensitive fields, production-grade protection, logged use and verified deletion when testing ends.
Masking quality
Cosmetic masking that leaves postcodes and birth dates intact is not anonymisation; pseudonymised data stays personal data under UK GDPR if separately held information can re-identify people.
Audit grading
Unmasked live personal data with no authorisation or protection grades major; a single missing record or lapsed deletion deadline grades minor, escalating to major as a pattern.

The security questionnaire asks the question you were hoping to skip: what data do your developers test on? The honest answer is a months-old production restore in staging, behind a login half the team shares, and the deal is waiting.

This guide covers ISO 27001 Annex A 8.33 for engineering leads, CISOs and compliance managers at UK software firms of 25 to 250 people. It covers what the control asks and how to run it with a fixture library, a masking script and a ticket type. It ends with how auditors sample test environments.

What does ISO 27001 Annex A 8.33 test information require?

Annex A 8.33 sets a default and an exception. By default, personal and sensitive data stays out of development and test, replaced by synthetic or anonymised datasets. Where a test truly needs live data, each copy gets its own authorisation. It also needs production-grade access controls, logged copying and use, masked sensitive fields and prompt deletion once testing ends.

The requirement is published as ISO/IEC 27001:2022 control A.8.33 test information, with implementation guidance in ISO/IEC 27002:2022 control 8.33 test information. Both start from one tension. Testing needs data that behaves like the real thing, and the real thing is usually the most sensitive material you hold.

The control does not ban production data. It prices it, and if that price feels heavy, the nudge towards synthetic data is the point.

In practice the default is a decision, not a document. Most functional testing needs the shape of the data, not the identity of the people in it, so the exception path should rarely open.

Three neighbouring controls supply the working parts:

  • Environment boundary. A.8.31 establishes the separation between environments that A.8.33 presumes.
  • Masking. A.8.11 covers hiding sensitive fields before data reaches test.
  • Deletion. A.8.10 covers destroying the copy when testing ends.

The control also cuts the other way. Test data has to be trustworthy and protected from tampering, or the tests it feeds prove nothing. So the control is two-sided: it protects confidentiality by keeping live records out of soft systems, and integrity by keeping fixtures reliable.

Is a leaked staging database a UK GDPR personal data breach?

Yes. UK GDPR defines a personal data breach by what happened to the data, not where it was held, so a leaked test copy counts in full. "It was only staging" is no defence. The data keeps the sensitivity of its source, so a soft staging system carries production-sized liability.

Staging breaches follow a familiar pattern: a database full of real customer records, indexed by a search engine or lifted by an attacker who never had to touch production. The ICO guidance on anonymisation and pseudonymisation is the reference for when data stops being personal, and a raw test copy never gets there.

The incident does not need to be dramatic. An exposed snapshot, a database credential committed to a test config or a contractor's laptop holding an extract all count. The breach assessment starts from what the records contain, not the label on the environment.

Two audiences press on the 8.33 test information control:

  • The regulator. A staging system usually carries weaker permissions than production, so a leak is more likely while the records are just as sensitive.
  • Enterprise buyers. Due diligence increasingly asks what developers test on. Answering "a copy of production" without an authorisation and masking story stalls the security review.

There is a quieter cost too. Teams that test on stale or rushed, made-up data ship defects that realistic, properly engineered test data would have caught. The control that protects customers also improves the tests.

How do you manage ISO 27001 Annex A test information safely?

Make synthetic-first the house rule, then gate every exception with four controls: a named approver and expiry per copy, masking before the data moves, production-grade protection for the environment holding it, and a logged lifecycle ending in verified deletion. Each copy inherits its source's sensitivity, not the informality of its environment.

Start with the house rule. Generate datasets that mirror production's formats, volumes and edge cases without containing anyone's records. A seeded fixture library your team maintains, or a generation tool, covers most functional testing outright. It is a short build once the environment boundary from A.8.31 exists.

Where realism genuinely requires production data, put four controls on each copy:

  1. Authorise per copy. A named approver, a recorded request stating what is copied and why, and an expiry date.
  2. Mask before it moves. Scramble, de-identify or strip sensitive fields while keeping formats realistic, so the data still exercises the code.
  3. Protect the holding environment to production standard. Role-based access, MFA, encrypted storage, periodic access review and logical separation from critical systems.
  4. Log the lifecycle and verify deletion. Record who copied what, when and where, then confirm the wipe on test systems, snapshots and laptops.

A standing waiver to copy production isn't an exception path. It's a second production with weaker locks.

The ICO's guidance on privacy in the product design lifecycle describes access control that limits people, including internal users, to the information they need to see. It also suggests logging data interactions, such as who has accessed or modified data. NCSC guidance on securing development environments adds logical separation, which makes pivoting from a development system harder. It also recommends multi-factor authentication, so stolen credentials are harder to use.

Each control answers a different failure. Authorisation stops casual copies, masking limits what a leak exposes, protection makes the leak less likely, and logged deletion stops the copy outliving its purpose.

Five pitfalls quietly undo these controls:

  • The Friday-afternoon production restore skips approval and masking, so the gate means nothing.
  • Informal test environments with shared logins and weaker permissions undo the protection while holding equally sensitive data.
  • Residual extracts on staging instances, snapshots and developer laptops outlive every deletion deadline.
  • No trail of which environments hold real data turns the auditor's first question into archaeology.
  • Over-engineering with an enterprise test-data-management platform, when a masking script, a fixture library and an approval step in your ticketing system deliver the control at this scale.
Free Resource - ISO 27001

The ISO 27001 readiness checklist

Ninety-eight controls mapped to what an assessor actually asks for, in the order they ask it. Written by practitioners who took our ISMS through certification.

AvailablePDF21 pages
  • how to define your ISMS scope
  • the risk-assessment and treatment evidence trail,
  • your Statement of Applicability and residual-risk positions, and
  • the supplier, access-control, and operational-evidence questions most teams miss.

DOC-27001-CHK · v2.4

We'll use your details to give you access to the resource you requested, plus occasional related content. Opt out any time — see our Privacy Notice.

What counts as anonymisation, and what is just cosmetic masking?

Anonymised test data cannot be traced back to a person with reasonable effort, including by joining it with other available data. Swapping names while leaving postcodes and birth dates intact is cosmetic masking. Under UK GDPR, pseudonymised data stays personal data whenever separately held information can re-identify individuals.

The ICO guidance on anonymisation and pseudonymisation is blunt about the line. If individuals can still be identified using additional information you hold separately, the data is pseudonymised, not anonymised, and it stays personal data. Pseudonymisation still reduces exposure, so keep the key or lookup table out of the test environment and treat the dataset as personal data throughout.

Test a masked dataset before you trust it:

  • Join it. Try linking it to your own production tables and to any other dataset an outsider could obtain.
  • Inspect quasi-identifiers. Check postcodes, birth dates, job titles and rare combinations of attributes.
  • Repeat the test. Re-identification risk shifts as outside data changes, so periodic testing is part of the control.

Masking that a determined join can undo is theatre, and UK GDPR doesn't grade for effort. When a dataset cannot pass those checks without losing the realism the test needs, synthetic data is the cleaner answer.

'It only reproduces on real data' is a bug report about your fixtures, not a licence to restore production.

How do you automate test data controls so nobody can dump production?

Treat the production-to-staging route as a pipeline. An automated job masks data in transit and becomes the only sanctioned path, with the manual dump technically disabled. A ticketing request captures approver, scope and expiry, classification scanning flags real personal data in non-production, and scheduled deletion jobs write their own receipts.

Masking in transit matters because unmasked data never lands in staging, even briefly. A mask-after-load approach leaves a window in which real records sit in a weaker system, and that window is what a leak exploits.

Four automations carry the control:

  • Masking in transit. The only sanctioned route is a job that masks as it copies. Refreshes document themselves, and the manual path is closed by removing developers' permission to restore production snapshots into staging.
  • Authorisation as workflow. A "copy production data" request type captures approver, scope and expiry. Expiring copies raise their own deletion tasks.
  • Leak detection. Classification scanning over non-production stores flags real personal data where only synthetic data should exist. That catches the Friday restore within hours instead of at audit.
  • Deletion with receipts. Scheduled destruction jobs, tied to each copy's expiry, write their own completion evidence.

If the register of live copies has to be reconstructed, nobody is running the control.

Much published guidance treats test data masking as a manual task: someone runs a script when asked, and nothing stops the next person skipping it. The pipeline reverses that default. The safe route is the easy one, the unsafe route is unavailable, and human judgement is reserved for the approval decision.

At 25 to 250 people this is a handful of scripts and a ticket type, not a new platform. The table shows what each automation catches and the evidence it leaves.

AutomationWhat it catchesCadenceEvidence it leaves
Masking pipelineUnmasked fields reaching staging; unsanctioned manual dumpsEvery refreshRun logs and masking configuration
Authorisation workflowCopies with no approver, scope or expiryPer requestTicket record; the register as a query
Classification scanningReal personal data in non-production storesScheduled scansScan findings and remediation tickets
Deletion jobsCopies outliving their expiryAt each copy's expiryCompletion receipts

What audit evidence proves test information is controlled?

Auditors expect eight evidence types. Policy and training records show the rules exist and people know them. Authorisation records for each production copy, masking scripts with run logs, synthetic generation setup, access control evidence, audit logs and deletion records show the rules actually run.

Under ISO 27001:2022 Annex A 8.33 test information, each artefact should answer one auditor question. This list ties every type of evidence to what it proves:

  1. Policy section. Proves the rules exist and developers can find them.
  2. Authorisation records. Requester, approver, scope and expiry prove each copy was approved.
  3. Masking scripts and run logs. Prove sensitive fields are masked in practice, not just in intent.
  4. Synthetic generation setup. Tool configuration, schemas and sample output prove synthetic-first is real.
  5. Access control evidence. RBAC configuration, MFA enforcement and access reviews prove the environment is protected.
  6. Audit logs. Prove the trail of copying, access and use exists.
  7. Deletion records. Prove copies were destroyed on schedule.
  8. Training records. Prove developers and testers know the rules.

The pipeline from the automation section produces most of these as by-products. The ticket is the authorisation record, the job log is the masking evidence and the deletion receipt is the certificate. Only the policy and the training records need a person to write them.

How do auditors sample test environments, and when does a gap grade major?

The auditor picks a current test or staging database, asks what it contains, then traces any real data back to its authorisation, masking run and deletion schedule. Unmasked live personal data with no authorisation or protection grades major; a missing record, lapsed deadline or patchy logging grades minor, aggregating to major as a pattern.

The sampling runs in a predictable order:

  1. Pick a database. The auditor chooses a current test or staging database and asks what is in it.
  2. Trace the real data. Anything real is followed back to its authorisation, masking run and scheduled deletion.
  3. Compare access. The access list for the test environment is set against production's.
  4. Check a closed cycle. A recently finished test cycle is inspected for deletion evidence.
  5. Ask about laptops. "How would you find a leftover production extract on a developer laptop?"

The evidence list is only half the audit. Sampling is where ISO/IEC 27001:2022 Annex A control 8.33 test information is actually tested, because it checks the live state of your environments against your records. The laptop question has no good improvised answer. You need a register of live copies, verified deletion across endpoints and a rule that extracts do not leave the pipeline.

The major case carries extra weight because it is probably a UK GDPR breach as well. Minors aggregate: three copies with thin records and a missed deadline start to look like a control nobody runs, and the grade follows the pattern.

What does a working test data discipline look like in two weeks?

Policy wording, an authorisation route and a masking script for your main datastore take one to two weeks, once the environment boundary from A.8.31 exists. The payoff is immediate, because security questionnaires ask what developers test on more often than auditors do. A clean answer keeps the security review moving.

To establish and administer an information security program that developers follow, write the test-data rules into your secure development policy. Then brief the people who decide at 5pm whether to pull a production dump. A standalone procedure is enterprise apparatus at this scale.

Ownership splits cleanly. A fractional CISO owns the approval policy: who may let production data leave its environment, and on what terms. That is a judgement call that needs security authority. GRC engineering builds the pipeline: masking as the only copy route, authorisation as workflow, scanning, and deletion jobs that write their own evidence.

The next questionnaire that asks what your developers test on gets a short, evidenced answer.

Frequently asked questions

Yes. The control follows the data, not the hosting. A cloud staging environment holding your customers' records needs the same authorisation, protection and deletion story as one in your own account. Check the provider-side details too: who can reach the console, how long snapshots persist, and whether your deletion job actually reaches them.

In structure more than intent. The 2022 revision replaced 14.3.1 and keeps its aim: protect operational data used for testing. What changed is the company it keeps. The 2022 edition added a dedicated data masking control, A.8.11, so expect auditors to treat masking as a defined, repeatable step. If your procedure predates 2022, name masking and the per-copy exception route in it, then keep the run logs as evidence.

Yes. The control protects integrity as well as confidentiality, and that applies to datasets containing no personal data at all. Keep fixtures in a tamper-controlled place, such as version control with reviewed changes, and use them only for testing. If anyone can edit a fixture silently, a passing build proves little.

Someone with authority over the data and independence from the request, usually your CTO, head of security or a fractional CISO. The requester should never approve their own copy. Name a deputy so approvals don't queue behind one person's holiday, and record the decision in the ticket.

Profile image for Harry West, Founder and CEO of GRCMANA
Author

Harry West

Harry is the founder of GRCMANA, he helps regulated service providers close the enterprise trust gap — turning GRC, cyber resilience and AI governance from paperwork exercises into shippable systems.

Standard engine

ISO 27001 reference directory.

Every control in this framework and the clause guides that sit above them, grouped by control domain. Open any entry for its control definition, implementation steps and the audit evidence it expects. Dimmed entries are planned.

ClausesThe management systemClause guides · 23 guides
Clause 4.1Understanding the organization and its context→Clause 4.2Understanding the needs and expectations of interested parties→Clause 4.3Determining the scope of the information security management system→Clause 4.4Information security management system→Clause 5.1Leadership and commitment→Clause 5.2Policy→Clause 5.3Organizational roles, responsibilities and authorities→Clause 6.1Actions to address risks and opportunities→Clause 6.2Information security objectives and planning to achieve them→Clause 7.1Resources→Clause 7.2Competence→Clause 7.3Awareness→Clause 7.4Communication→Clause 7.5Documented information→Clause 8.1Operational planning and control→Clause 8.2Information security risk assessment→Clause 8.3Information security risk treatment→Clause 9.1Monitoring, measurement, analysis and evaluation→Clause 9.2Internal audit→Clause 9.2Preparing for Your ISO 27001 Stage 2 Audit: A Practical Checklist→Clause 9.3Management review→Clause 10.1Continual improvement→Clause 10.2Nonconformity and corrective action→
A.5Organizational Controls37 guides
A.5.1Policies for information security→A.5.2Information security roles and responsibilities→A.5.3Segregation of duties→A.5.4Management responsibilities→A.5.5Contact with authorities→A.5.6Contact with special interest groups→A.5.7Threat intelligence→A.5.8Information security in project management→A.5.9Inventory of information and other associated assets→A.5.10Acceptable use of information and other associated assets→A.5.11Return of assets→A.5.12Classification of information→A.5.13Labelling of information→A.5.14Information transfer→A.5.15Access control→A.5.16Identity management→A.5.17Authentication information→A.5.18Access rights→A.5.19Information security in supplier relationships→A.5.20Addressing information security within supplier agreements→A.5.21Managing information security in the ICT supply chain→A.5.22Monitoring, review and change management of supplier services→A.5.23Information security for use of cloud services→A.5.24Information security incident management planning and preparation→A.5.25Assessment and decision on information security events→A.5.26Response to information security incidents→A.5.27Learning from information security incidents→A.5.28Collection of evidence→A.5.29Information security during disruption→A.5.30ICT readiness for business continuity→A.5.31Legal, statutory, regulatory and contractual requirements→A.5.32Intellectual property rights→A.5.33Protection of records→A.5.34Privacy and protection of PII→A.5.35Independent review of information security→A.5.36Compliance with policies, rules and standards for information security→A.5.37Documented operating procedures→
A.6People Controls8 guides
A.6.1Screening→A.6.2Terms and conditions of employment→A.6.3Information security awareness, education and training→A.6.4Disciplinary process→A.6.5Responsibilities after termination or change of employment→A.6.6Confidentiality or non-disclosure agreements→A.6.7Remote working→A.6.8Information security event reporting→
A.7Physical Controls14 guides
A.7.1Physical security perimeters→A.7.2Physical entry→A.7.3Securing offices, rooms and facilities→A.7.4Physical security monitoring→A.7.5Protecting against physical and environmental threats→A.7.6Working in secure areas→A.7.7Clear desk and clear screen→A.7.8Equipment siting and protection→A.7.9Security of assets off-premises→A.7.10Storage media→A.7.11Supporting utilities→A.7.12Cabling security→A.7.13Equipment maintenance→A.7.14Secure disposal or re-use of equipment→
A.8Technological Controls34 guides
A.8.1User endpoint devices→A.8.2Privileged access rights→A.8.3Information access restriction→A.8.4Access to source code→A.8.5Secure authentication→A.8.6Capacity management→A.8.7Protection against malware→A.8.8Management of technical vulnerabilities→A.8.9Configuration management→A.8.10Information deletion→A.8.11Data masking→A.8.12Data leakage prevention→A.8.13Information backup→A.8.14Redundancy of information processing facilities→A.8.15Logging→A.8.16Monitoring activities→A.8.17Clock synchronization→A.8.18Use of privileged utility programs→A.8.19Installation of software on operational systems→A.8.20Networks security→A.8.21Security of network services→A.8.22Segregation of networks→A.8.23Web filtering→A.8.24Use of cryptography→A.8.25Secure development life cycle→A.8.26Application security requirements→A.8.27Secure system architecture and engineering principles→A.8.28Secure coding→A.8.29Security testing in development and acceptance→A.8.30Outsourced development→A.8.31Separation of development, test and production environments→A.8.32Change management→A.8.33Test information→A.8.34Protection of information systems during audit testing→
OtherAdditional Guides7 guides
GuideISO 27001 Statement of Applicability: what it is, with a worked example→GuideISO 27001 implementation→GuideISO 27001 certification and audit process→GuideISO 27001 mandatory documents and records→GuideISO 27001 gap analysis→GuideISO 27001 certification cost→GuideISO 27001 Annex A controls→
ISO 27001 Accelerator

Ready to accelerate your path to certification?

Work with a Trust Architect to scope your ISMS, close the gaps, and get audit-ready — without stalling your roadmap.

Book a Call →
GRCMANA
  • About
  • Insights
  • Contact
Ask the Trust ArchitectBook a Call →
  • About
  • Insights
  • The Vault
    Compliance VaultCyber Essentials→ISO 27001→SOC 2→ISO 42001→
    Domain VaultGRC Fundamentals→Risk Management→AI Governance→GRC Engineering→
    Other ResourcesFree Tools→Templates→Newsletter→
  • Contact
Book a Call →Ask the Trust ArchitectFixed fee. ISO 27001 in as few as six weeks.
GRCMANA

Helping high-growth B2B tech startups close the Enterprise Trust Gap through security, governance, and AI resilience.

ISO 27001ISO 42001ISO 9001Cyber EssentialsEU AI Act ReadyNIST AI RMF

The Vault

GRC EngineeringAI GovernanceISO 27001ISO 42001All Vault Resources

Resources

BlogFree ToolsTemplatesNewsletter

Company

About GRCMANAContactPrivacy PolicyTerms & ConditionsCookie Policy
© 2025 GRCMANA · All rights reservedRegistered in England & Wales under company registration 16810805. VAT Registration 506308024