Who Touched The Row

Admin actions are recorded in an audit_events table, but the application's database role holds UPDATE and DELETE on it and entries have no link to each other. Compliance asks whether this table would stand up as evidence of what happened. What change actually fixes it?

A

Move the audit table into its own schema and grant write access only to the admin team rather than to the whole engineering group

B

Write through a role that holds INSERT only, and chain each entry to the previous one with a hash so later edits are detectable

C

Encrypt the audit table at rest with a managed key so entries cannot be read by anyone who lacks permission to use that key

D

Add modified_by and modified_at columns so every edit to an existing entry is attributed to the account that made it