This is a ready-to-use go/no-go checklist for the point between qualification and real use: the moment a system is about to start holding genuine GxP data and someone has to confirm the audit trail is actually ready, not merely tested once in a clean environment. It is not a replacement for a scripted qualification test script on a high-risk system; it is the summary gate a named owner signs to authorize go-live, and it doubles as the record of an unscripted, risk-based configuration check on lower-risk systems where a full formal test script is not proportionate. Replace every <<FILL: ...>> placeholder, set your document numbers, and route the checklist through your normal document control. A filled specimen follows. Verify each cited regulation against the current source before you rely on it, and adapt this to your own processes rather than treating it as legal or regulatory advice.
The single rule that shapes the whole checklist: a clean qualification run is not the same as a ready system. Configuration can drift between the day a test script was executed and the day real data starts flowing, and the items below exist to catch exactly that gap.
Document control header
| Field | Entry |
|---|---|
| Document title | Audit Trail Configuration and Go-Live Readiness Checklist |
| Document number | <<FILL: CL-ID, e.g. CL-QA-045>> |
| Version | <<FILL: version, e.g. 1.0>> |
| Effective date | <<FILL: effective date>> |
| Document owner | <<FILL: role, e.g. Data Integrity Lead>> |
| Applies to | <<FILL: roles authorizing go-live of GxP computerized systems>> |
When to use this checklist
Run it once per system, or per major upgrade of an existing system, at three points: before go-live of a new system holding GxP data; before go-live following a software upgrade, migration, or reconfiguration that could touch audit trail settings; and, on lower-risk systems where a full scripted qualification test script is not proportionate to the risk, as the unscripted verification record itself, consistent with a risk-based assurance approach. For High-criticality systems under your audit trail criticality tiering risk assessment, run this checklist in addition to, not instead of, a scripted test script; treat this checklist as the final gate that confirms the script’s results are still true on the day you actually go live.
Before you start
Have all of the following in hand. If any item is missing, stop and record the reason; a readiness check performed without qualification evidence is an opinion, not a check.
| Item | Where it comes from |
|---|---|
| The system’s assigned audit trail criticality tier and required capture depth | The audit trail criticality tiering risk assessment |
| Qualification evidence (IQ/OQ or CSA-scaled test record) for this version/build | Validation file |
| Read access to the live or pre-production system to observe configuration directly | System owner / IT |
| The audit trail review procedure and its named reviewers for this system | Quality Assurance |
| The backup and restore test record for this system | IT / infrastructure |
How to complete
- Enter the record identification block.
- Work sections A to H in order. Do not skip forward; the criticality tier confirmed in section A sets what “Pass” requires in every later section.
- Mark each item Pass, Fail, or NA. NA requires a reason on the same line. A blank is not an answer.
- Verify by direct observation of the system wherever the item says so. A configuration described in a specification but not observed live is not confirmed.
- Any Fail routes to the exception log. Continue the remaining items so the full picture is captured, but do not sign section H authorizing go-live while an unresolved Fail remains on a High-criticality system.
- Complete the exception log, the disposition, and the signoff.
Record identification
| Field | Entry |
|---|---|
| System name and ID | <<FILL>> |
| System version / build | <<FILL>> |
| Environment checked | <<FILL: production / pre-production, state which>> |
| Assigned criticality tier | <<FILL: High / Medium / Low, per the criticality tiering risk assessment>> |
| Required capture tier | <<FILL: Tier 1 / 2 / 3>> |
| Trigger for this check | <<FILL: new system / upgrade / unscripted CSA verification>> |
| Checked by | <<FILL>> |
| Check date | <<FILL>> |
Section A: criticality and requirements
| # | Check | What it tests for | Pass | Fail | NA | Evidence or comment |
|---|---|---|---|---|---|---|
| A1 | The system’s audit trail criticality tier has been assigned by a documented risk assessment before this check, not estimated here for the first time | That capture depth was chosen deliberately, not defaulted | ||||
| A2 | The required capture tier for this system is stated in a functional or configuration specification | That there is a written requirement to test against | ||||
| A3 | Every GxP-relevant table, form, or field in scope for audit trail capture is explicitly listed, not assumed from a single system-wide toggle | Completeness of scope, not an assumption of coverage |
Section B: capture configuration
| # | Check | What it tests for | Pass | Fail | NA | Evidence or comment |
|---|---|---|---|---|---|---|
| B1 | The audit trail is enabled for all GxP-relevant tables and fields, not only system login and logout events | Coverage beyond the trivial default | ||||
| B2 | A field-level edit captures both the old value and the new value, not only that a change occurred | Tier 3 capture, the requirement most systems ship without | ||||
| B3 | A reason for change is required and enforced (the save is blocked without one) for fields designated critical | That the reason prompt is a real control, not an optional box | ||||
| B4 | Create, modify, delete, reprocess, and signature events are each distinguishable in the trail rather than collapsed into one generic “record changed” entry | That a reviewer can tell what kind of event occurred without guessing | ||||
| B5 | The user identity captured on every entry is a unique, individually attributable account, never a shared or generic login | Attributable, the ALCOA+ attribute the whole trail depends on |
Section C: protection against tampering
| # | Check | What it tests for | Pass | Fail | NA | Evidence or comment |
|---|---|---|---|---|---|---|
| C1 | No user role, including system administrator, can disable the audit trail from the application interface without a documented, controlled, and itself-logged process | That disabling is not a normal-course option for anyone | ||||
| C2 | No user role can edit an existing audit trail entry | Trail immutability | ||||
| C3 | No user role can delete an existing audit trail entry | Trail immutability | ||||
| C4 | Any change to audit trail configuration is itself written to the audit trail, capturing who, what changed, and when | That the control watching the control is itself observed | ||||
| C5 | Deletion of a GxP record, where permitted at all, requires a documented justification and a second-person approval, both captured in the trail | Controlled deletion, not silent removal |
Section D: time integrity
| # | Check | What it tests for | Pass | Fail | NA | Evidence or comment |
|---|---|---|---|---|---|---|
| D1 | Timestamps are generated server-side, not client-side, for any web-based or networked component | That a user cannot manufacture a timestamp by changing their own device clock | ||||
| D2 | The system clock is synchronized to a controlled time source (NTP or equivalent), and that synchronization has been qualified | Contemporaneity of every timestamp in the trail | ||||
| D3 | The time zone and storage/display convention (for example stored UTC, displayed local with the offset shown) is documented and applied consistently | That cross-system timestamp comparisons will not produce false backdating signals | ||||
| D4 | Ordinary users cannot change the system clock; where a clock change is permitted at all, it is administrator-only and is itself captured in the trail | Protection of the single fact every other control depends on |
Section E: backup, retention, and availability
| # | Check | What it tests for | Pass | Fail | NA | Evidence or comment |
|---|---|---|---|---|---|---|
| E1 | Backup and disaster recovery processes explicitly include audit trail data, not only the current-state record | That history is not silently excluded from what gets protected | ||||
| E2 | A restore has actually been tested, and the restored audit trail was confirmed complete and readable, not assumed | Enduring, verified rather than asserted | ||||
| E3 | Audit trail retention is configured to at least the retention period of the records it describes | That the trail cannot outlive its own evidence in the wrong direction | ||||
| E4 | The audit trail can be exported or printed in a legible, readable form on demand, without vendor intervention | Available |
Section F: review readiness
| # | Check | What it tests for | Pass | Fail | NA | Evidence or comment |
|---|---|---|---|---|---|---|
| F1 | A written audit trail review procedure exists and explicitly names this system in its scope | That review will actually start, not just be assumed to | ||||
| F2 | Reviewers for this system are named, trained, and confirmed independent of the data they will review | Independence of the review, not just its existence | ||||
| F3 | Where review by exception will be used, the filter or rule set is validated and negative-tested, or a dated plan exists to complete this before reliance begins | That “we filter” is a tested claim, not an assumption | ||||
| F4 | The review frequency assigned to this system traces to the criticality tier recorded in section A | Consistency between the risk assessment and the operating procedure |
Section G: roles, training, and documentation
| # | Check | What it tests for | Pass | Fail | NA | Evidence or comment |
|---|---|---|---|---|---|---|
| G1 | System owner, reviewer, QA, and IT/administrator responsibilities for this system’s audit trail are documented and assigned to named individuals or named roles | That “somebody owns this” is verifiable | ||||
| G2 | All named roles have completed training specific to this system before go-live | That the people who will operate the controls know how | ||||
| G3 | Qualification evidence supporting sections B through E (a test script, protocol, or CSA-scaled test record) is referenced by document number and is available, not merely asserted from memory | Traceability between this gate and the evidence behind it |
Section H: final gate
| # | Check | What it tests for | Pass | Fail | NA | Evidence or comment |
|---|---|---|---|---|---|---|
| H1 | Every prior section shows Pass, or every Fail has an accepted, dispositioned exception per the log below | That go-live is not authorized against an open, unresolved gap | ||||
| H2 | A named business or system owner signs authorizing go-live with full knowledge of any accepted exception | Accountability for the decision, not just the checklist |
Exception log
Record every Fail. One row per item.
| Item # | What was observed | Classification (see below) | Immediate action | Deviation or CAPA reference | Notified to, date |
|---|---|---|---|---|---|
<<FILL>> | <<FILL>> | <<FILL>> | <<FILL>> | <<FILL>> | <<FILL>> |
Escalation triggers
| What was found | Classification | Action |
|---|---|---|
| A minor documentation gap (e.g. a role named but training record not yet filed) corrected before signoff | Control functioned | Record, correct, no deviation |
| A configuration gap on a Low-criticality system, with a compensating control already in place | Documentation gap | Note the compensating control, proceed with QA concurrence |
| Any Fail in section B, C, or D on a Medium or High-criticality system | Significant | Do not authorize go-live; remediate and re-check the failed section before proceeding |
| Any Fail in section C (tamper protection) on any system regardless of tier | Potential data integrity gap | Escalate per <<FILL: SOP-ID for data integrity events>>; do not authorize go-live until closed |
| Qualification evidence referenced in G3 cannot be produced | Traceability failure | Treat as if the underlying item were untested; do not accept a Pass elsewhere in reliance on it |
Do not authorize go-live while an unresolved significant or potential data integrity gap remains open on a Medium or High-criticality system.
Disposition and signoff
| Field | Entry |
|---|---|
| Total items applicable | <<FILL>> |
| Pass | <<FILL>> |
| Fail | <<FILL>> |
| NA (with reasons recorded) | <<FILL>> |
| Overall outcome | Ready for go-live / Ready with accepted exceptions / Not ready, held |
| Go-live authorized | Yes / No, with reason |
| Checked by (name, signature, date) | <<FILL>> |
| System/business owner authorization (name, signature, date) | <<FILL>> |
| QA approval (required for any Fail, or for any High-criticality system) | <<FILL>> |
Acceptance criteria
- Every item applicable to this system and its criticality tier is marked, with no blank cells.
- Every Fail is logged, classified, and either corrected or carries an accepted exception with a named approver.
- No unresolved significant or potential data integrity gap exists on a Medium or High-criticality system at the time of signoff.
- The qualification evidence referenced in section G3 exists, is retrievable, and matches the version/build recorded in the record identification block.
- The review frequency named in section F traces to the criticality tier named in section A.
- A named business or system owner has signed authorizing go-live, and QA has approved where required.
References
21 CFR Part 11.10(e) (secure, computer-generated, time-stamped audit trails); 21 CFR 211.68, 211.194. EU GMP Annex 11, section 9 (audit trails) and general principles on validation. A substantially expanded draft revision was issued for consultation on 7 July 2025 (consultation closed 7 October 2025); an EMA stakeholder workshop on the draft followed on 30 June to 1 July 2026, and adoption of the final revision has slipped to 2027 or later. Confirm the in-force version before issue. FDA guidance, Computer Software Assurance for Production and Quality Management System Software, issued 3 February 2026 (superseding the 24 September 2025 final), for risk-based scaling of verification rigor. GAMP 5, Second Edition, for the risk-based validation lifecycle this checklist sits within. MHRA GxP Data Integrity Guidance and Definitions; PIC/S PI 041, Good Practices for Data Management and Integrity.
Confirm the current version and clause numbers of each reference before issue.
Filled specimen
The following shows the checklist completed for an example laboratory information management system going live after a version upgrade. Only the items with something to say are reproduced in full; the remainder passed with the evidence noted. Names, systems, and numbers are illustrative.
Record identification
| Field | Entry |
|---|---|
| System name and ID | LIMS-PROD, instance LIMS-03 |
| System version / build | 12.1.0, build 4471 |
| Environment checked | Pre-production, mirrored from production configuration |
| Assigned criticality tier | High (release-testing results) |
| Required capture tier | Tier 3 |
| Trigger for this check | Version upgrade from 11.4.0 to 12.1.0 |
| Checked by | R. Alavi (Validation) |
| Check date | 03 August 2026 |
Selected item results
| # | Result | Evidence or comment |
|---|---|---|
| A1 | Pass | Criticality tier High confirmed per RA-DI-024, section 7, row 1 |
| B2 | Pass | Confirmed live: edited result shows old and new value side by side in the audit trail viewer |
| B4 | Fail | The 12.1.0 upgrade collapsed “reprocess” and “manual edit” into one generic “record changed” event type, a regression from 11.4.0. Logged as exception 1. |
| C1 | Pass | No disable option present for administrator or ordinary user; vendor confirms no such setting exists in this build |
| D2 | Pass | NTP synchronization confirmed against corporate time service, drift within 1 second at time of check |
| E2 | Fail | Restore test for this build has not yet been executed; scheduled but not evidenced. Logged as exception 2. |
| F3 | Pass | Review-by-exception filter FLT-LIMS-04 re-validated for 12.1.0, negative tests re-run and passed |
| G3 | Pass | OQ test script TS-OQ-031 v2.0 referenced, executed 29 July 2026, on file |
Exception log
| Item # | What was observed | Classification | Immediate action | Deviation / CAPA ref | Notified to, date |
|---|---|---|---|---|---|
| 1 | B4: reprocess and manual edit events no longer distinguishable in the trail after upgrade to 12.1.0 | Significant | Vendor configuration ticket opened; interim compensating control is a mandatory reason-for-change text tag distinguishing “reprocess” vs “manual edit” until the vendor fix ships | DEV-2026-0311 | R. Gomez (QA), 03 August 2026 |
| 2 | E2: restore test for build 12.1.0 not yet executed | Documentation gap | Restore test scheduled for 06 August 2026; go-live held pending result | CAPA-2026-0198 | R. Gomez (QA), 03 August 2026 |
Disposition
| Field | Entry |
|---|---|
| Total items applicable | 27 |
| Pass | 25 |
| Fail | 2 (B4, E2, both logged with action) |
| NA | 0 |
| Overall outcome | Not ready, held |
| Go-live authorized | No, pending restore test result and interim compensating control confirmation for B4 |
| Checked by | R. Alavi, signed, 03 August 2026 |
| System/business owner | J. Okafor, signed, 05 August 2026 (acknowledges hold) |
| QA approval | R. Gomez, signed, pending closure of exceptions 1 and 2 |
What makes this specimen useful is that it held go-live rather than waving through a regression the vendor introduced. A checklist that always shows a clean Pass row on every upgrade is not evidence the system is ready; it is evidence the checklist is not being run against the live system.
Common inspection findings this checklist prevents
- A system goes live on the strength of a qualification test script executed weeks earlier, with no confirmation the same configuration is still true on the day real data starts flowing.
- A software upgrade silently resets audit trail granularity or re-enables a disable option, and nobody re-checks before the new version is used for GxP work.
- Backup processes are assumed to cover the audit trail because they cover the record, with no restore ever tested to confirm it.
- Review-by-exception filters are carried over to a new version without re-validation, so a rule that worked in the old build silently stops firing in the new one.
- Roles are named in a procedure but nobody confirms training was completed before the system went live.
- Go-live is authorized by whoever finished testing, with no named business owner accountable for the decision.
How to adapt this checklist
- Set your document number and confirm the criticality tiering risk assessment this checklist relies on in section A1.
- For High-criticality systems, keep this checklist as the final gate in addition to a scripted qualification test script; for Low-criticality systems, this checklist can serve as the sole, unscripted verification record where that is proportionate to risk.
- Add or remove items in sections B through E to match what your systems can actually be configured to do; do not delete an item because a particular system fails it, log the exception instead.
- Point the deviation and CAPA references in the escalation table at your real procedures.
- Confirm every regulation in the references section against the current published version before issue, including the pending Annex 11 revision.