Compliance
Why Screenshots and Workflow Recordings Are Essential for Control Validation
Auditors require visual proof for roughly 25 to 35% of SOC 2 controls that logs and APIs cannot verify: access controls, UI security, and approval workflows. This guide covers which controls need it, what makes a screenshot auditor-ready, and how an AI compliance agent named Vera captures that proof as one signed input inside a broader evidence program.

Screenshots and workflow recordings are essential for control validation because roughly 25 to 35% of SOC 2 controls involve user interface behavior, approval workflows, and application-level security that logs and APIs cannot verify on their own. Auditors want visual proof that a control works as designed in the actual user experience. At Screenata the compliance agent is Vera, and capturing that visual proof is one of several ways she collects evidence, about 9% of the total. This guide covers which controls require it, what makes a screenshot auditor-ready, and how Vera turns a moment on screen into signed evidence with a chain of custody.
Where Screenshots Fit in the Evidence Mix
A control needing UI proof is not the same as screenshots being most of the work. Roughly a quarter to a third of controls need a visual, but across the whole program screenshots are a small share of the evidence Vera collects, because API scans cover the bulk.
| How Vera collects evidence | Share | What it covers |
|---|---|---|
| API scans | ~70% | Cloud config, identity logs, endpoint posture, fully automated |
| Automated screenshots | ~9% | UI access controls, RBAC tests, workflow proof APIs can't reach |
| Guided collection | ~9% | Step-by-step flows for controls that need a specific path |
| Inbox ingestion | ~5% | Forwarded emails and Slack file drops, auto-classified |
| Attestations | the rest | Answers only a person can give, chased in Slack and Teams |
Screenshots are the part of the job that needs a camera. They matter out of proportion to their share because they cover exactly the controls a dashboard goes blind on: the application layer. That is where the rest of this guide focuses.
What Auditors Cannot Verify Without Screenshots
The Limit of API Evidence
APIs are excellent at proving system state and weak at proving user experience.
What API evidence proves:
- A user exists in a system.
- A user holds specific permissions in the database.
- An access attempt was logged.
- A configuration setting exists.
What API evidence cannot prove:
- The user actually saw an "Access Denied" message.
- An approval button was clicked before an action.
- A security warning was displayed.
- The UI enforced the permission restriction rather than just the backend.
- A workflow followed the correct sequence.
Example: CC6.1 Logical Access Controls
An API log for a blocked request looks like this:
{
"user_id": "12345",
"role": "standard_user",
"attempted_resource": "/admin/api-keys",
"timestamp": "2025-01-22T10:15:00Z",
"result": "403_forbidden"
}
That log tells the auditor a request was blocked. It does not answer the questions a reviewer actually asks: did the user see a clear denial, could they bypass it through the UI, and was the control applied consistently. The screenshot answers those. It shows the denial message on screen, the restricted user in context, and the fact that the page could not be reached. The log and the screenshot together prove the control; the log alone does not.
Controls That Require Screenshot Evidence
CC6.1: Logical Access Controls
| Control aspect | API evidence | Screenshot evidence | Why the screenshot is needed |
|---|---|---|---|
| Permission denial | 403 error logged | "Access Denied" UI message | Proves the user saw a clear denial |
| RBAC enforcement | Database permissions | Different UI views by role | Proves the UI respects backend permissions |
| Session timeouts | Session invalidated | Auto-logout screen | Proves the timeout was user-visible |
| MFA verification | Auth log entry | MFA prompt on screen | Proves the user went through the MFA flow |
A typical auditor request reads: "Provide screenshots demonstrating that users without administrative privileges are prevented from reaching the API keys configuration page, including the error message shown to the user." A log entry alone leaves the user experience unproven. The screenshot closes that gap.
CC6.2: Access Provisioning and Credentials
| Workflow step | Log evidence | Screenshot evidence |
|---|---|---|
| Access request | Ticket created | Request form showing the business justification |
| Manager approval | Approval flag changed | Manager approving in the workflow UI |
| IT provisioning | User created in system | Admin adding permissions |
| Verification | Access granted timestamp | New user reaching the intended dashboard |
Logs show that an approval happened. They do not show who approved, what the approver saw, or the decision context. The workflow capture proves the request carried a justification, the manager reviewed and approved, and provisioning followed the approval rather than preceding it.
CC7.2: Change Management
| Change phase | Git logs | Screenshot evidence |
|---|---|---|
| Code review | PR merged | Two or more reviewers approved, visible |
| Testing | CI passed | Test results dashboard |
| Approval | Deploy flag set | Deployment approval on screen |
| Production deploy | Commit deployed | Production system running the new version |
| Verification | Health check passed | Monitoring showing a clean deploy |
Git history proves code moved. It cannot show the manual approval gate for production, the deployment approval UI, or the human review of monitoring after the release. The workflow capture does.
CC8.1: Vulnerability Management
| Evidence | Log data | Screenshot value |
|---|---|---|
| Scan execution | Scan completed timestamp | Dashboard showing the scan configured and run |
| Findings | Vulnerability CSV | Visual severity breakdown reviewed by a person |
| Remediation | Issue closed date | Ticket showing the fix deployed |
| Scan frequency | Scheduled job logs | Recurring schedule on screen |
The screenshot proves scans were configured, results were reviewed, and remediation was prioritized, not merely that a job ran.
Why Workflow Recordings Prove Process Compliance
The Multi-Step, Multi-System Challenge
A single control often spans several systems. Access provisioning, for example, touches a ticketing tool, a chat approval, an identity provider, and the target application:
- Employee requests access in the ticketing system.
- Manager approves in chat or email.
- IT picks up the request.
- IT provisions in the identity provider or the app.
- IT verifies access in the target system.
- IT closes the ticket.
API evidence from each system shows individual actions but cannot prove the sequence, connect the steps across tools, or demonstrate that approval preceded provisioning. A workflow recording captures the whole path end to end: the sequence, the approvals before action, and the handoffs between people and systems.
Approval Workflows
A control that reads "production deployments require approval from two engineers" is not satisfied by a merge commit. The git record shows the merge, not the approvals. The pull-request capture shows both reviewers approving with timestamps, the branch protection rule requiring two approvals, and the merge blocked until they were given.
Change Verification
A control that reads "changes are verified in production after deployment" is not satisfied by a success status. The workflow capture shows the engineer opening the monitoring dashboard, checking error rates and key metrics, confirming a clean release, and closing the deployment ticket.
Incident Response
A control with a response-time requirement is not satisfied by an alert timestamp and a resolved timestamp. The workflow capture shows the alert received, the acknowledgement, the investigation steps, the root cause, the resolution, and the post-mortem, which is what proves the process was actually followed.
Visual Evidence Auditors Commonly Request
Across SOC 2 engagements, a handful of screenshot requests come up again and again.
Access Denial
Reviewers want to see what happens when a user without privileges attempts a restricted action: a clear denial message, no path forward, and handling consistent with the rest of the product. A generic 404, an obscure error code, or a silent failure reads as a weaker control than a clean, explicit denial.
Multi-Factor Authentication
Reviewers want the MFA flow demonstrated: the login form, the authentication challenge, the successful verification, and the dashboard after. The point is to prove MFA is enforced and cannot be bypassed, not just that an auth event was logged.
Approval Workflows
Reviewers want proof that access requests require approval before provisioning: the request, the approver acting on it, and provisioning that follows. Logs cannot show that the approver actually saw the request or that approval preceded the grant.
Encryption Verification
Reviewers want the configuration on screen: the storage bucket properties, encryption enabled, the algorithm, and a default-encryption policy that cannot be silently disabled. A point-in-time capture proves the state at the moment of testing.
Security Scanning
Reviewers want the scan dashboard: the schedule, recent results, critical findings at zero or triaged, and remediation tracking for past findings. This shows human review and a working process, not just a completed job.
What Makes a Screenshot Auditor-Ready
Characteristics of Strong Evidence
Good screenshot evidence is clear and readable at full resolution, carries complete context (the URL bar and page title visible), shows a timestamp, focuses on the control under test, is presented consistently, and is annotated so the reviewer knows what to look at. A well-formed capture reads like this:
Screenshot: CC6.1 Access Control Test
URL: https://app.example.com/admin/api-keys
Date: 2025-01-22 10:15:03 UTC
User: test-user@example.com (Standard User role)
[Access Denied message displayed]
Note: A user without admin privileges cannot reach API keys,
demonstrating effective RBAC per CC6.1.
Why Evidence Gets Rejected
| Issue | Example | Why it fails |
|---|---|---|
| Partial capture | Cropped too tight | Missing context such as the URL and page title |
| Low resolution | Scaled-down image | Text cannot be read clearly |
| No timestamp | Just the UI | Cannot prove when the test happened |
| No user context | No logged-in user shown | Cannot prove which role was tested |
| Irrelevant framing | Full page, tiny relevant detail | Hard to identify the control evidence |
| No annotation | Bare screenshot | Reviewer does not know what to look for |
How Evidence Should Be Organized
Auditors move faster through a package with a predictable structure:
Evidence Package
├── CC6.1_Logical_Access_Test/
│ ├── 01_login_as_standard_user.png
│ ├── 02_navigate_to_admin_panel.png
│ ├── 03_access_denied_message.png
│ ├── 04_audit_log_entry.png
│ └── report.pdf
├── CC7.2_Change_Management/
│ ├── 01_pull_request_created.png
│ ├── 02_code_review_approvals.png
│ ├── 03_ci_tests_passed.png
│ ├── 04_production_deployment.png
│ └── report.pdf
Sequential numbering, descriptive names, a control-ID prefix, and a consistent format across controls are the difference between a package that sails through and one that generates follow-up questions.
How Vera Captures and Signs Each Shot
The quality checklist above is exactly what a manual process gets wrong under deadline pressure. Vera captures to that bar every time, and adds provenance a manual screenshot never carries.
What Travels With Each Capture
When Vera runs a control test through the Screenata browser extension, each capture carries the screenshot itself, a DOM snapshot proving the HTML elements existed as shown, the URL and page title, an NTP-synced timestamp, the tester identity, and browser and system context. A vision model reads the screen, buttons, labels, error states, role badges, and scores whether the capture actually proves the control rather than merely relating to it. Low-confidence captures are flagged for review instead of guessed. Text in the images is indexed so an auditor can search hundreds of pages for "Access Denied" instead of scrolling a folder.
The Signature and Proof Chain
Every capture is packaged into a signed manifest: SHA-256 hashes, a digital signature, and an RFC 3161 timestamp. Then it is mapped to the control and tied back to a specific sentence in your policy. An auditor can start from a policy claim, follow it to the control test, and land on the signed screenshot, then verify the signature independently with a free CLI. Edit the image and the hash no longer matches, which is what makes the chain of custody real rather than decorative.
Why Automated Capture Beats Manual
Where Manual Capture Fails
Manual screenshotting fails in predictable ways under audit pressure: a forgotten capture that forces a retest, a cropped URL bar that voids the context, a shot taken a moment before the key state, a lost file, or the wrong part of a flow. Any one of these turns into a round of rework. A common example is re-running a full set of access-control tests because the logged-in username was not visible in the originals, so the auditor could not confirm which role was tested.
What Vera Captures Automatically
Automated capture removes those failure modes. Vera captures at each meaningful moment, always includes the context, fires at the exact state change, organizes files by control, and produces the same format every time. For an access-control test she captures the login with the role visible, the dashboard, the navigation attempt, the denial, and the audit-log entry, which is precisely the set a manual pass tends to miss shots two and five from.
Workflow Recording vs. Point-in-Time Screenshots
When You Need a Full Workflow
| Process type | Why a recording is needed | Example |
|---|---|---|
| Multi-step approvals | Must show the sequence | Request, approval, provisioning |
| Cross-system workflows | Links several tools | Alert, investigation, ticket, resolution |
| Conditional logic | Different paths are taken | Separate approval for prod vs staging |
| Time-sensitive controls | Duration matters | Incident response within a set window |
A recording captures the sequence, the timing between steps, the decision points, and the handoffs, which is what proves a process rather than a single state.
When a Snapshot Is Enough
| Control type | Why a snapshot suffices | Example |
|---|---|---|
| Configuration verification | Single state check | Encryption enabled on a storage bucket |
| Permission tests | Single access attempt | A user blocked from the admin panel |
| Scan results | Dashboard at a point in time | Zero critical findings |
| Setting validation | Configuration on screen | MFA required for all users |
Vera chooses the mode by what the control needs, so a simple permission check is a clean snapshot and a provisioning flow is a full recording.
Framework-Specific Requirements
SOC 2 Type II
Manual controls typically need quarterly evidence across the Type II window, presented as a formatted report with screenshots embedded, control objectives stated, and a clear pass or fail. Because Vera re-collects on a cadence, the quarterly evidence is already current when the auditor arrives.
ISO 27001
Annex A controls need proof of implementation and effectiveness, with more narrative around risk treatment and control selection. The same captures Vera collects for SOC 2 map across through a shared control catalog, so the underlying evidence is reused rather than re-shot.
HIPAA
PHI must be redacted in every screenshot, so tests should run against staging with synthetic data where possible, and any production capture needs redaction. Vera redacts sensitive fields before evidence is filed, which is exactly the extra scrutiny a HIPAA reviewer applies.
CMMC 2.0
Evidence is more detailed than SOC 2 and must reference NIST SP 800-171 at the practice level, with higher-tier assessments expecting more frequent evidence for key practices. The consistent, labeled format Vera produces fits the assessment-artifact bar these reviews hold.
Collect Once, Map Across Frameworks
One of the hidden costs of manual screenshotting is doing it again for every framework. The same access-denied capture satisfies SOC 2 CC6.1, ISO 27001 A.9.1.2, and HIPAA §164.312(a)(1). Vera maps a single capture through a shared catalog, so you review the evidence once and she handles the translation into each framework's language. For a multi-framework program, that reuse often saves more time than the capture automation itself.
The Work Beyond the Screenshot
Screenshots prove what a system does. They cannot prove a person made a judgment, and a large part of an audit is exactly those human answers: did the access review happen and did the right people sign off, was an exception approved, did someone read a vendor's SOC 2 report. A dashboard puts these on a checklist and waits. Vera DMs the responsible person in Slack or Teams for the attestation, reminds at 24 hours, and escalates at 48 if there is still no answer, then files the response as evidence tied to the control. Because she also runs the API scans, the screenshots and attestations are part of one program rather than three separate projects stacked on top of each other.
Where a Human Stays in the Loop
Vera escalates rather than guesses. She hands a control back, with a specific reason, when a capture is below the quality threshold, when the control needs judgment such as an unusual incident or a first-time procedure, when an attestation only a person can give is required, or when a legally binding action needs explicit approval. She does the prep; an independent auditor still reviews the evidence and issues the report. That honest escalation is what keeps a reviewer confident the evidence reflects reality rather than an agent papering over uncertainty.
What It Costs Compared to the Manual Path
For a team with 40 to 50 controls that need UI evidence, the manual path runs roughly 60 minutes per control and repeats every quarter. The cost is not only those hours. Most teams also carry a GRC platform and a consultant on top.
- Screenata is $499/month for SOC 2 Type II, with Type I from $299.
- A traditional setup runs a GRC platform ($7,000 to $80,000 a year) plus a consultant ($8,000 to $15,000 a month).
- First-year totals land near $18,000 with Vera against roughly $85,000 traditional, before the engineering hours manual capture consumes.
The larger saving is between audits: evidence stays current on a cadence instead of being re-collected from scratch the week before the auditor arrives.
Frequently Asked Questions
Do auditors really need screenshots?
Yes. SOC 2, ISO 27001, HIPAA, and CMMC reviewers request screenshots for roughly 25 to 35% of controls, including any UI-based control, multi-step workflows, access-control tests, and application security. Logs are strong for infrastructure controls, but for application-level access controls a reviewer needs to see what the user experienced, and only a screenshot shows that.
Can I just use screen recording tools like Loom?
You can, but it stays manual. A recorder captures video, and you still extract the key frames, write descriptions, map to controls, and format a report by hand, which runs 45 to 60 minutes per control. Vera captures the meaningful steps, scores them, maps them, and signs the pack, so your hands-on time is a couple of minutes of review.
How many screenshots per control are needed?
Simple controls need 3 to 5, medium complexity 6 to 10, and complex workflows 10 to 15. Expectations have risen from 2 to 3 shots a few years ago to 6 to 10 today, because reviewers now want the full sequence and the edge cases, not just the end state.
What about sensitive data in screenshots?
Run tests against staging with synthetic data where possible, and rely on automated redaction for production screens. Vera detects and masks PII before any evidence is filed, captures are encrypted at rest and in transit, and she connects to your systems read-only, so audit prep does not create a new exposure.
Can workflow recordings replace point-in-time screenshots?
Use both, chosen by the control. Record multi-step and cross-system processes such as approvals and incident response; use a single snapshot for configuration checks, permission tests, and dashboard reviews. Vera picks the mode automatically based on what the control needs.
Key Takeaways
- Roughly 25 to 35% of SOC 2 controls need visual proof that APIs cannot provide, especially access controls, approval workflows, and UI security.
- Screenshots are about 9% of the evidence Vera collects, but they cover exactly the application layer a dashboard goes blind on.
- Workflow recordings prove process compliance across multi-step, multi-system procedures where the sequence is the point.
- Manual capture runs about 60 minutes per control and fails in predictable ways; Vera captures to the auditor's bar every time and signs each shot.
- Every capture carries provenance and a signature and ties to a control and a policy claim, so an auditor can verify it independently rather than trust it.
Automate Your Screenshot Evidence
Vera captures screenshots during control testing, scores whether each one proves the control, and assembles a signed, auditor-ready pack, so you never miss a required visual. Around that capture she runs the API scans, chases the attestations only a person can answer, and keeps the evidence current on a schedule. Screenshots are one signed input in a program she runs end to end, not a separate project bolted on.
Learn More About Compliance Automation
For a complete introduction to compliance evidence automation, including why screenshots are essential for control validation and how an agent automates the rest of the evidence job, see our comprehensive evidence automation guide.
Connect and see
See your SOC 2 with your real systems.
Connect GitHub and cloud read-only. Vera shows your control matrix, policy gaps, and prioritized next actions before you commit to anything.