Insights

Audits and Evidence · 9 min read

The Audit That Turns into a Two-Week Project

Sid Varma

Sooner or later an auditor, an investor or an insurer asks for proof: which version of the data policy was in force last March, who approved the expense rules, and whether staff confirmed the security update before the incident. Without a document audit trail, answering those questions turns into two weeks of digging through inboxes and shared drives.

When I was building my previous company, we hit exactly this during due diligence. We had made the right decisions and the policies were real, but none of it had left a record that a system could confirm, so we were rebuilding it from memory, which is an uncomfortable place to be when someone outside the company is asking the questions.

Four signs your next audit will turn into a project:

  • Policy approvals happen over email or in meetings.
  • Your files are named “Final,” “Final v2” and “Final REVISED.”
  • Policy updates go out as a Slack message, with no record of who read them.
  • Nobody could say, in five minutes, which version of a policy was live on a given date.

Key takeaways

  • A document audit trail records who created, changed, approved, sent and acknowledged a document, with names and times.
  • The audit trail proves the process and version history proves the content, so an audit needs both.
  • Approvals and acknowledgments only count as evidence when they’re tied to a specific version.
  • The best audit trail builds itself as the work happens, so there’s nothing to assemble later.
A real document audit trail in AllyMatter for a Remote Work Policy, newest first: Lao Tzu Chen and Epictetus Freed approved the document, Paul Carus sent it for re-approval using the workflow Policy Review, saved version V1.3 and changed its visibility from Internal to Public, Iris Murdoch acknowledged it, and Paul Carus sent an acknowledgement request to 11 people with a View recipients link. Each line has a date and time, with Date Range, All People, Refresh and Export controls at the top.
A real audit trail for a test Remote Work Policy, newest first, where two approvers signed off, the editor saved version 1.3 and made it public, and one person acknowledged it after it was sent to 11 people.

Why the trail goes cold

Most teams never design a record. Policies get written in Google Docs, saved to a shared drive or a Notion page, approved in a meeting and announced on Slack, so each tool holds a piece and none of them holds the whole story.

Those tools were built for writing together rather than for proving what happened, so they show what a document says today but not who approved it, in what order, or which version someone confirmed six months ago. When the question finally comes, the answer is spread across inboxes and chat threads that nobody can find in a hurry.

What a document audit trail needs to capture

A document audit trail records every important action on a document, in time order, from the day it’s created. You don’t need every keystroke, only the actions an auditor is likely to ask about:

  • who created the document, and for whom
  • each saved version, with who saved it and when
  • each approval and rejection, with the reason for a rejection
  • who it was sent to, and whether they were asked to acknowledge it
  • each acknowledgment, by name, with a date and time
  • changes to who can see it, and where it lives

The acknowledgment line matters most, and it’s the one most tools miss. An acknowledgment of “the policy” is nearly worthless, while an acknowledgment of a specific version is real evidence, because if staff confirmed the security policy in February and it changed in April, you need to know which of the two they actually saw.

A document audit trail example

Here’s a real trail from a test policy in AllyMatter, read from the oldest line to the newest, with each line set against the question an auditor would ask.

What the log saysWhat it proves
Paul Carus created document Remote Work Policy with tags: GlobalWho wrote it, when, and who it was meant for
Paul Carus saved version V1.0The first version on record
Paul Carus updated the review by dateSomeone owns keeping it current
Paul Carus started the workflow Policy ReviewIt went through a defined sign-off, not an email thread
Epictetus Freed rejected the document, with a commentA reviewer pushed back, and why
Paul Carus saved version V1.1 and restarted the workflowThe fix went back through the full sign-off
Epictetus Freed approved, Lao Tzu Chen approvedWho signed off on the version that went live
Paul Carus sent an acknowledgement request to 9 peopleWho it went to, with the full recipient list
Iris Murdoch acknowledged the documentA named person confirmed it, with a date and time

Nobody typed any of this up, because every line was written by the system while the people involved simply did their work.

Version history versus version control

Version history is the list of how a document changed, while version control is the set of rules about how changes happen, covering who can make them, who has to approve them and what happens to the old version, and an audit needs both.

Picture a leave policy that is updated mid-year, reviewed by legal, approved by the HR head and put live. Six months later a dispute turns on the old wording and someone asks what the policy said on a given date, which a list of saves can’t answer, because what you need is the full text of the version that was live, along with who approved it and when.

In AllyMatter every saved version is kept and you can open any of them, and Version compare shows every word removed and added between two versions. Restoring an old version doesn’t overwrite anything, because it creates a new version that has to be approved again before anyone sees it, so the chain stays intact.

AllyMatter version compare for the Remote Work Policy, comparing v1.2 and v1.3 by Paul Carus. A summary line reads 13 words added, 13 words removed, 2 sections changed. The two versions sit side by side, and the changed sentence, Remote work can be full time or up to 3 days a week, now reads up to 2 days a week, with the number highlighted on each side. A version history panel on the right lists v1.3 as current, then v1.2, v1.1 and v1.0, each with a Restore button.
Version compare between versions 1.2 and 1.3 of the same policy, with the one change, from up to 3 days a week to up to 2, highlighted on both sides and every earlier version listed on the right, ready to open or restore.

Approvals that leave a record

Email approvals don’t age well, because people leave, inboxes get archived and a reply-all from eight months ago doesn’t show which version was approved. When a review asks who cleared the updated policy and when, an old email thread is not an answer that holds up.

A structured approval workflow puts the sign-off on the document itself. In AllyMatter, the document is locked while it’s under review, so the approver sees exactly the version that goes live, and each approver is told when it’s their turn. A rejection has to come with a reason that stays on the record, as in the example above, and after a fix the document goes back through the whole sign-off from the first step.

The earlier part of the same AllyMatter audit trail: Epictetus Freed rejected the Remote Work Policy with the rejection comment, Please add who to contact for equipment problems, and say how often the internet allowance is paid. Below it, Paul Carus started and added the workflow Policy Review, updated the review by date, saved version V1.0 and created the document with tags Global. Above it, Paul Carus saved version V1.1, restarted the workflow, and the approvals and an acknowledgement request to 9 people follow.
Earlier in the same trail, a reviewer rejected the first draft and wrote why, the editor saved the fix as version 1.1, and the policy went back through the full sign-off before anyone was asked to acknowledge it.

The acknowledgment record that closes the loop

Approval is only half the picture, and the other half is proof that the right people read and confirmed the current version.

Say a healthcare team updates its data handling policy after a rule change, gets it approved and sends out a notice. Four months later an auditor asks them to show that staff confirmed the new version before it took effect, and all they have is the message they sent, with no way to tell who opened it, which version was live at the time, or who never responded.

Same audit request, two very different outcomes: five questions an auditor will ask, answered without and with an audit trail. Who approved the policy: digging through email threads, versus every approval and rejection with its reason on the document. What did it say on a given date: comparing file dates, versus every version kept with a word-by-word compare. Who was it sent to: whoever was on the email list that day, versus the full recipient list logged when it was sent. Did staff confirm the current version: a Slack message went out, versus each acknowledgment by name with date, time and version. How long to answer: days or weeks, versus minutes, by exporting the trail as a PDF or CSV.
The same five audit questions, answered with and without a document audit trail.

In AllyMatter, sending a policy for acknowledgment writes its own line to the trail, with the full list of who it went to. Each person acknowledges on the policy itself while signed in, and their acknowledgment is recorded by name with the date, time and version, while automatic reminders go to anyone who hasn’t responded on the schedule you set. When the policy changes, the new version is approved again and sent back out, so the record always matches what’s live.

How AllyMatter builds the trail into the work

In AllyMatter the audit trail isn’t a report you run at the end, because it’s written as people work.

Every policy has its own trail. Open the audit log on any document to see its whole history, newest first, and filter it by date range or by person when you need one part of it.

Admins see the whole workspace. The workspace audit log shows every document’s activity in one place, for when the question is “what changed last quarter?”

The proof is a file. Export any document’s trail as a PDF or a CSV and hand it to the auditor.

History survives. If a document is deleted its history is kept, and completed acknowledgments stay on the record after someone leaves the company.

You can see who looked. Each policy’s analytics show who viewed it, how long it was on their screen and when they last opened it, along with each completed acknowledgment.

Together with version history, that means the record already exists by the time anyone asks for it. If you’re putting this in place early, our guide to startup compliance documentation covers the basics worth having first.

Start your 30-day free trial of AllyMatter. No credit card to start, and a 30-day money-back guarantee if you subscribe and change your mind. Free migration.

Want to look around first? Try the AllyMatter sandbox with sample data already loaded.

Three scenarios

An honest read on whether you need this yet:

If you’re under 30 people and nobody outside the company ever asks about your policies, a shared drive and careful file names will hold for now.

If you’re 30 to 200 people and the four signs at the top are familiar, this is the moment, and AllyMatter is what I built for exactly this.

If you answer to an auditor, a regulator or investors doing due diligence, a document audit trail isn’t optional, and we’d start with AllyMatter.

More on audits and evidence

Questions about document audit trails

What is a document audit trail?

A document audit trail is a record, in time order, of everything important that happened to a document: who created it, each version, who approved or rejected it and why, who it was sent to, and who acknowledged it. Because the system writes it as the work happens, it answers an auditor’s questions without anyone having to remember what happened.

What should a document audit trail capture?

At a minimum it should capture the creation of the document, every saved version, each approval and rejection with its reason, each send with the list of people it went to, each acknowledgment by name, and any change to who can see it, with a person and a timestamp on every line.

What’s the difference between version history and an audit trail?

Version history shows what the document said at each point, while the audit trail shows what happened to it, such as who approved it, who it went to and who confirmed it. You need both, because one proves the content and the other proves the process.

Why does it matter which version someone acknowledged?

Policies change, and someone who confirmed the January version hasn’t confirmed the one you published in April. An acknowledgment that isn’t tied to a version can’t tell you which rules a person actually agreed to, which is usually the very thing a dispute turns on.

Why aren’t approval emails enough?

Email approvals are real, but they’re fragile, because people leave, inboxes get archived and a forwarded thread doesn’t prove which version was approved. A sign-off recorded on the document itself, with names and times attached, holds up much better when someone outside the company asks.

When should a growing company set up a document audit trail?

The right time is before the first serious review rather than during it, which for most companies is somewhere around 50 people, when policies start to touch several teams and informal sign-offs stop being reliable.

Start your 30-day free trial of AllyMatter. No credit card to start, and a 30-day money-back guarantee if you subscribe and change your mind. Free migration.

Try AllyMatter free for 30 days

  • No credit card needed
  • 30-day money-back guarantee
  • Free migration on yearly plans