Why Audit Trails Fail Inspections

The audit trail is the most inspected Part 11 requirement and the most frequently cited deficiency in FDA warning letters. It's not usually because the system has no audit trail โ€” most modern SCADA and DCS platforms have one built in. It's because the audit trail doesn't capture all required event types, can be disabled, or generates records that can't be exported in a readable format during inspection.

This article gives you a practical checklist to design, implement, and test a Part 11-compliant audit trail on your SCADA system โ€” with real examples of what each requirement looks like in practice.

The Regulatory Requirement

21 CFR Part 11 ยง11.10(e) requires: "Use of secure, computer-generated, time-stamped audit trails to independently record the date and time of operator entries and actions that create, modify, or delete electronic records. Record changes shall not obscure previously recorded information." Each element of that sentence is a separate testable requirement.

The Six Required Fields Per Audit Trail Entry

Every audit trail entry must be able to answer six questions. If any one is missing, the record is incomplete and fails Part 11 compliance. These are the six fields your OQ must verify are present and correct for every event type:

AUDIT TRAIL โ€” SIX REQUIRED FIELDS WITH EXAMPLES FIELD PART 11 REQUIREMENT EXAMPLE VALUE FAIL CONDITION TIMESTAMP Independently generated, NTP-synced 2026-05-14 09:14:32 UTC Operator-editable clock USER ID Named individual โ€” no shared accounts eng.smith "Operator" or "Admin" generic ACTION TYPE Describes what was done SETPOINT CHANGE Numeric code with no description RECORD REF Which tag or record was affected TIC_101.SP No tag reference recorded OLD VALUE Previous value before change 75.0 ยฐC Only new value recorded NEW VALUE Value after change was made 80.0 ยฐC Delta only, not absolute value ALL SIX FIELDS MUST BE PRESENT IN EVERY AUDIT TRAIL RECORD โ€” PARTIAL RECORDS ARE A FINDING
// OQ TEST CASE OQ-021 SHOULD VERIFY ALL SIX FIELDS ARE PRESENT FOR EACH EVENT TYPE โ€” SETPOINT CHANGE, ALARM ACK, MODE CHANGE, LOGIN/LOGOUT, CONFIG CHANGE.

The Event Types Your Audit Trail Must Capture

A common gap is an audit trail that captures some event types but not all. The OQ must verify each event type independently โ€” not just that the audit trail mechanism exists. Here is the complete list your system must capture for a Category 4 SCADA in a pharmaceutical environment:

The Tamper-Evidence Requirement

Part 11 requires audit trails to be "secure" โ€” meaning operators cannot modify or delete audit trail entries. This is not just a policy requirement; it must be enforced technically and verified in your OQ. The standard OQ test for tamper evidence is an adversarial SQL test:

OQ TEST CASE OQ-022 โ€” AUDIT TRAIL TAMPER EVIDENCE Step 1: Log a test setpoint change via the SCADA HMI. Confirm entry recorded in audit trail. Step 2: Attempt direct SQL UPDATE on the audit trail table: UPDATE audit_log SET user_id='admin' WHERE event_id=1234; Expected: Command rejected. Error returned. No record modified. Step 3: Attempt direct SQL DELETE: DELETE FROM audit_log WHERE event_id=1234; Expected: Command rejected. Record still present. Attempt itself logged. Verdict: PASS if both commands are rejected and original record is unchanged.

The Independent Timestamp Requirement

Part 11 requires timestamps to be "computer-generated" and "independent" โ€” meaning the timestamp cannot be set or influenced by the operator performing the action. This has two practical implications for your system design and OQ testing:

The Audit Trail Review Requirement

EU GMP Annex 11 ยง9 adds a requirement that Part 11 doesn't explicitly state: audit trails must be reviewed regularly as part of the quality process. This typically means periodic review of the audit trail for GMP-critical operations โ€” checking for unusual patterns, failed login attempts, or out-of-hours configuration changes.

The SOP for your system should define the audit trail review frequency and what the reviewer is checking for. This is also something a QA auditor will ask about during an inspection: "Who reviews your audit trail, how often, and what do they do if they find something unexpected?"

The Audit Trail OQ Test Checklist

Use this as a pre-execution checklist before your OQ sign-off to confirm every audit trail requirement is covered by a test case:

In the QLean Framework

The OQ protocol template includes nine pre-written audit trail test cases (OQ-020 through OQ-028) covering all six fields, tamper evidence (SQL adversarial test), NTP sync loss, export completeness, and operator disable attempt. Each test case includes the expected result, the rejection evidence format, and the regulatory clause reference. The audit trail review SOP is included in the SOPs pack.