Why Screenshots and Workflow Recordings Are Essential for Control Validation
Auditors require visual evidence for 25-35% of SOC 2 controls that cannot be verified through logs or APIs alone—specifically access controls, UI security, approval workflows, and application-level protections.

Screenshots are essential for control validation because 25-35% of SOC 2 controls involve user interface behavior, approval workflows, and application-level security that cannot be verified through API logs alone. Auditors require visual proof showing controls work as designed in the actual user experience.
What Auditors Cannot Verify Without Screenshots
The API Limitation Problem
What APIs can prove:
- A user exists in a system ✅
- User has specific permissions in database ✅
- An access attempt was logged ✅
- A configuration setting exists ✅
What APIs cannot prove:
- User saw an "Access Denied" message ❌
- Approval button was clicked before action ❌
- Security warning was displayed ❌
- UI enforced permission restrictions ❌
- Workflow followed correct sequence ❌
Example - CC6.1 (Logical Access Controls):
API evidence shows:
{
"user_id": "12345",
"role": "standard_user",
"attempted_resource": "/admin/api-keys",
"timestamp": "2025-01-22T10:15:00Z",
"result": "403_forbidden"
}
Auditor questions:
- Did user see an error message?
- Was the denial clear and informative?
- Could user bypass through UI manipulation?
- Was the control consistently applied?
Screenshot proves:
- ✅ Large, clear "Access Denied" message displayed
- ✅ User cannot proceed to restricted page
- ✅ Consistent with other access controls
- ✅ Professional error handling
Controls That Require Screenshot Evidence
SOC 2 Trust Service Criteria
CC6.1 - Logical Access Controls
Why screenshots required:
| Control Aspect | API Evidence | Screenshot Evidence | Why Screenshot Needed |
|---|---|---|---|
| Permission denial | 403 error logged | "Access Denied" UI message | Prove user saw clear denial |
| RBAC enforcement | Database permissions | Different UI views by role | Prove UI respects backend permissions |
| Session timeouts | Session invalidated | Auto-logout screen | Prove timeout was user-visible |
| MFA verification | Auth log entry | MFA prompt screenshot | Prove user went through MFA flow |
Real auditor requirement:
"Please provide screenshots demonstrating that users without administrative privileges are prevented from accessing the API keys configuration page, including the error message displayed to the user."
Without screenshot:
- Log shows 403 error ❌
- No proof of user experience ❌
- Auditor cannot verify control ❌
With screenshot:
- Clear access denial visible ✅
- Professional error handling ✅
- Consistent UX ✅
- Control validated ✅
CC6.2 - Prior to Issuing Credentials
Why workflow screenshots required:
| Workflow Step | Log Evidence | Screenshot Evidence |
|---|---|---|
| Access request | Ticket created | Request form showing details |
| Manager approval | Approval flag changed | Manager clicking "Approve" button |
| IT provisioning | User created in system | IT admin adding permissions |
| Verification | Access granted timestamp | New user seeing dashboard |
API logs miss:
- Who approved (just that approval happened)
- What approver saw when deciding
- Approval decision context
- Visual proof of workflow
Screenshot captures:
- ✅ Request with business justification
- ✅ Manager reviewing and approving
- ✅ IT following approval
- ✅ Complete audit trail
CC7.2 - Change Management
Why deployment screenshots required:
| Change Phase | Git Logs | Screenshot Evidence |
|---|---|---|
| Code review | PR merged | 2+ reviewers approved (visible) |
| Testing | CI passed | Test results dashboard |
| Approval | Deploy flag set | Deployment approval click |
| Production deploy | Commit deployed | Production system showing new version |
| Verification | Health check passed | Monitoring showing successful deploy |
Git logs alone insufficient because:
- Cannot prove manual approval for production
- Cannot show deployment approval UI
- Cannot demonstrate monitoring review
- Cannot prove rollback capability
CC8.1 - Vulnerability Management
Why scan screenshots required:
| Evidence | Log Data | Screenshot Value |
|---|---|---|
| Scan execution | Scan completed timestamp | Dashboard showing scan running |
| Findings | Vulnerability list CSV | Visual severity dashboard |
| Remediation tracking | Issue closed date | Jira ticket showing fix deployed |
| Scan frequency | Scheduled job logs | Calendar showing recurring scans |
Screenshot proves:
- ✅ Scans configured correctly
- ✅ Results reviewed by security team
- ✅ Remediation prioritized appropriately
- ✅ Process followed consistently
Why Workflow Recordings Prove Process Compliance
The Multi-Step Process Challenge
Single controls often involve multiple systems:
Example: Access provisioning process
- Employee requests access (ServiceNow/Jira)
- Manager approves request (Email/Slack)
- IT receives request (ServiceNow/Jira)
- IT provisions in target system (Okta/AWS/App)
- IT verifies access (Target system)
- IT closes ticket (ServiceNow/Jira)
API evidence from each system:
- ❌ Shows individual actions
- ❌ Doesn't prove sequence
- ❌ Cannot connect across systems
- ❌ Doesn't show approvals
Workflow recording:
- ✅ Shows complete end-to-end process
- ✅ Proves correct sequence
- ✅ Demonstrates approvals before action
- ✅ Captures multi-system workflow
Process Controls Need Visual Proof
Approval Workflows
Control requirement: "Production deployments require approval from two engineers"
Git log shows:
commit abc123
Author: engineer@example.com
Merged-by: bot@github.com
Problem: Doesn't show approvals
PR screenshot shows:
- ✅ Engineer 1 approved (with timestamp)
- ✅ Engineer 2 approved (with timestamp)
- ✅ Branch protection required 2 approvals
- ✅ Merge only allowed after approvals
Change Verification
Control requirement: "Changes are verified in production after deployment"
Deployment log shows:
deploy_status: success
Problem: Doesn't prove human verification
Workflow recording shows:
- ✅ Engineer opened monitoring dashboard
- ✅ Checked error rates (screenshot)
- ✅ Reviewed key metrics (screenshot)
- ✅ Confirmed no errors (screenshot)
- ✅ Closed deployment ticket
Incident Response
Control requirement: "Security incidents are responded to within 4 hours"
PagerDuty log shows:
alert_time: 10:00 AM
resolved_time: 1:30 PM
duration: 3.5 hours
Problem: Doesn't show response activities
Workflow recording shows:
- ✅ Alert received (screenshot)
- ✅ Engineer acknowledged (screenshot)
- ✅ Investigation steps taken (screenshots)
- ✅ Root cause identified (screenshot)
- ✅ Resolution implemented (screenshot)
- ✅ Post-mortem created (screenshot)
Visual Evidence Auditors Specifically Request
Common Auditor Evidence Requests
Based on 200+ SOC 2 audits:
1. Access Denial Screenshots (95% of audits)
Request:
"Provide screenshots showing what happens when a user without admin privileges attempts to access the production database configuration page."
What auditors look for:
- Clear "Access Denied" or "Permission Error" message
- Explanation visible to user
- Professional error handling
- Consistent with security posture
Red flags (from missing screenshots):
- Generic 404 error (might not be permission check)
- Obscure error code (user doesn't understand)
- No error message (silent failure)
- Inconsistent handling
2. Multi-Factor Authentication Flow (85% of audits)
Request:
"Demonstrate the MFA flow for accessing production systems, including screenshots of the authentication challenge."
Required screenshots:
- Login form with username/password
- MFA prompt (code/push notification)
- Successful authentication
- Dashboard after successful MFA
Why it matters:
- Proves MFA actually enforced
- Shows MFA cannot be bypassed
- Demonstrates user experience
- Confirms MFA configured correctly
3. Approval Workflows (80% of audits)
Request:
"Provide evidence that production access requests require manager approval before granting, including screenshots of the approval process."
Required workflow:
- Access request submission
- Manager receiving request
- Manager approving/denying
- IT provisioning after approval
- Requester notification
API logs insufficient because:
- Doesn't show manager saw request
- Cannot prove approval before provisioning
- Doesn't demonstrate workflow UI
- Misses approval context
4. Data Encryption Verification (75% of audits)
Request:
"Demonstrate with screenshots that customer data stored in S3 is encrypted at rest."
Required screenshots:
- AWS S3 bucket properties
- Encryption settings enabled
- Encryption type (AES-256)
- Default encryption policy
Why screenshots matter:
- Configuration could change after API query
- Visual proof at point in time
- Shows encryption cannot be disabled
- Proves policy enforcement
5. Security Scanning Results (70% of audits)
Request:
"Provide screenshots of vulnerability scan dashboards showing scan frequency and critical finding remediation."
Required screenshots:
- Scan schedule configuration
- Recent scan results
- Critical vulnerabilities = 0
- Remediation tracking for past findings
Beyond logs:
- Shows human review of results
- Demonstrates prioritization process
- Proves monitoring dashboard exists
- Validates remediation workflow
Screenshot Quality Requirements
What Makes Evidence Auditor-Acceptable
✅ Good Screenshot Evidence
Characteristics:
- Clear and readable - Full resolution, no blur
- Complete context - URL bar visible, page title shown
- Timestamp present - Date/time visible or embedded
- Relevant content - Focused on control being tested
- Professional presentation - Organized, well-formatted
- Annotated - Key elements highlighted/labeled
Example:
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)
[Screenshot shows large red "Access Denied" message]
Annotation: "User without admin privileges cannot access API keys,
demonstrating effective RBAC implementation per CC6.1."
❌ Insufficient Screenshot Evidence
Problems that cause rejections:
| Issue | Example | Why Rejected |
|---|---|---|
| Partial screenshot | Cropped too tight | Missing context (URL, page title) |
| Blurry/low res | Scaled-down image | Cannot read text clearly |
| No timestamp | Just the UI | Cannot prove when test occurred |
| No user context | No logged-in user shown | Cannot prove which user tested |
| Irrelevant content | Full page with tiny relevant detail | Hard to identify control evidence |
| No annotation | Just screenshot | Auditor doesn't know what to look for |
Screenshot Organization Standards
Best practices for submission:
Evidence Package Structure:
├── 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
File naming conventions:
- Sequential numbering (01, 02, 03...)
- Descriptive names (action described)
- Control ID prefix
- Consistent format across controls
Why Automated Screenshot Capture Matters
Manual Screenshot Challenges
| Challenge | Impact | Frequency |
|---|---|---|
| Forgot to screenshot | Cannot prove control, must retest | 45% of manual tests |
| Screenshot missing context | URL bar cropped out | 30% of manual tests |
| Inconsistent timing | Screenshot before/after key moment | 25% of manual tests |
| Lost screenshots | Cannot find file later | 20% of audits |
| Wrong screenshot | Captured wrong part of flow | 15% of manual tests |
Real example:
"We spent 6 hours re-running access control tests because in our original screenshots, the logged-in username wasn't visible. Auditor couldn't verify we tested with correct user role."
Automated Capture Benefits
What automation ensures:
| Benefit | How | Impact |
|---|---|---|
| Never miss screenshots | Captures automatically at key moments | 100% coverage |
| Complete context always | Full page including URL, timestamp | Zero rejections |
| Perfect timing | Captures exactly when action occurs | Accurate evidence |
| Organized automatically | Sequential naming, folder structure | Easy auditor review |
| Consistent quality | Same format every time | Professional presentation |
Automated screenshot captures:
- Page load - Before action
- Action - Button click, form submit
- Result - Success/error message
- Verification - Confirming state change
Example - Access control test:
Auto-captured:
1. Login page with username visible
2. Dashboard after successful login
3. Click on "Admin Panel" link
4. "Access Denied" error message
5. Audit log showing denied attempt
Manual would miss:
- Screenshot #2 (proving role)
- Screenshot #5 (log verification)
Workflow Recording vs Point-in-Time Screenshots
When You Need Full Workflow
Complex processes requiring sequence proof:
| Process Type | Why Workflow Needed | Example |
|---|---|---|
| Multi-step approvals | Must show sequence | Access provisioning: request → approval → provisioning |
| Cross-system workflows | Links multiple systems | Incident: alert → investigation → Jira → resolution |
| Conditional logic | Different paths taken | Deployment: different approval for prod vs staging |
| Time-sensitive | Duration matters | Incident response: must respond within 4 hours |
Workflow recording captures:
- Complete sequence of actions
- Timing between steps
- Decision points and branches
- Handoffs between people/systems
- End-to-end process flow
When Point Snapshots Suffice
Simple controls with single verification:
| Control Type | Why Snapshots Sufficient | Example |
|---|---|---|
| Configuration verification | Single state check | Encryption enabled in S3 |
| Permission tests | Single access attempt | User cannot access admin panel |
| Scan results | Dashboard at point in time | Vulnerability scan shows 0 critical |
| Setting validation | Configuration screenshot | MFA required for all users |
Framework-Specific Screenshot Requirements
SOC 2 Type II
Screenshot frequency:
- Manual controls: Quarterly (4x per year)
- Key controls: More frequently
- New controls: Every quarter in Type II period
Required evidence format:
- Professional PDF report
- Screenshots embedded with descriptions
- Control objectives stated
- Pass/fail clearly indicated
ISO 27001
Screenshot requirements:
- Annex A control implementation proof
- Control effectiveness demonstration
- Management review evidence
- Internal audit screenshots
Documentation depth:
- More narrative explanation
- Risk treatment context
- Control selection justification
HIPAA
Special considerations:
- PHI must be redacted in all screenshots
- Use test environments with synthetic data
- Document data minimization
- Prove encryption everywhere
Screenshot challenges:
- Cannot show real patient data ❌
- Must use de-identified test data ✅
- Redaction required for any PII ✅
- Extra auditor scrutiny ⚠️
CMMC 2.0
Screenshot requirements:
- More detailed than SOC 2
- Must reference NIST SP 800-171
- Practice-level evidence needed
- Assessment artifacts clearly labeled
Higher evidence bar:
- Level 2: Quarterly evidence minimum
- Level 3: Monthly evidence for key controls
- More screenshots per control
- Professional assessment format
ROI of Automated Screenshot Collection
Time Savings Analysis
Manual screenshot collection (per control):
| Activity | Time |
|---|---|
| Perform test | 10 min |
| Take screenshots (6-10 screenshots) | 15 min |
| Organize files | 5 min |
| Write descriptions | 20 min |
| Format report | 10 min |
| Total | 60 min |
Automated screenshot collection:
| Activity | Time |
|---|---|
| Start recording | 10 sec |
| Perform test | 10 min |
| AI generates report | 30 sec |
| Review and export | 2 min |
| Total | 13 min |
Savings: 47 minutes per control (78%)
Time Savings (50 controls/quarter)
Manual:
- 50 controls × 60 min = 50 hours/quarter
- Annual: 200 hours
Automated:
- 50 controls × 13 min = 10.8 hours/quarter
- Annual: 43.2 hours
Time savings: 156.8 hours/year (78% reduction)
Frequently Asked Questions
Do auditors really need screenshots?
Yes. SOC 2, ISO 27001, HIPAA, and CMMC auditors specifically request screenshots for:
- 25-35% of controls
- Any UI-based control
- Multi-step workflows
- Access control tests
- Application security
Direct auditor quote:
"Logs are great for infrastructure controls, but for application-level access controls, I need to see what the user experienced. Screenshots are non-negotiable."
Can I just use screen recording tools like Loom?
Possible but inefficient:
| Need | Loom/ScreenRec | Evidence Automation Tool |
|---|---|---|
| Record test | ✅ Yes | ✅ Yes |
| Extract key frames | ❌ Manual | ✅ Automatic |
| Generate descriptions | ❌ Manual writing | ✅ AI-generated |
| Control mapping | ❌ Manual lookup | ✅ Automatic |
| Format for audit | ❌ Manual PDF creation | ✅ Automatic |
| Export to Vanta/Drata | ❌ Manual upload | ✅ One-click |
Time difference:
- Loom + manual processing: 45-60 minutes
- Evidence automation: 3-5 minutes
How many screenshots per control are needed?
Typical requirements:
| Control Complexity | Screenshots Needed | Example |
|---|---|---|
| Simple | 3-5 | Single permission check |
| Medium | 6-10 | Multi-step access test |
| Complex | 10-15 | Full workflow documentation |
Auditor expectations have increased:
- 2020: 2-3 screenshots acceptable
- 2025: 6-10 screenshots expected
Why more screenshots now:
- More thorough audits
- Higher security standards
- Prove complete workflow
- Demonstrate edge cases
What about sensitive data in screenshots?
Solutions:
| Approach | When to Use | How |
|---|---|---|
| Test environment | Best practice | Use staging with synthetic data |
| Automated redaction | Production screenshots needed | AI detects and masks PII |
| Manual redaction | Occasional use | Review and black out sensitive data |
| Selective capture | Known sensitive areas | Configure what gets captured |
Screenata includes:
- Automatic PII detection
- Real-time redaction
- Synthetic data suggestions
- HIPAA-compliant processing
Can workflow recordings replace point-in-time screenshots?
Use both strategically:
Workflow recording for:
- Multi-step processes
- Approval workflows
- Cross-system processes
- Incident response
Point screenshots for:
- Configuration verification
- Permission tests
- Dashboard reviews
- Quick checks
Combined approach:
- Record complex workflows
- Extract key screenshots
- Submit both to auditor
- Best of both worlds
Key Takeaways
✅ 25-35% of SOC 2 controls require screenshot evidence that APIs cannot provide
✅ Auditors specifically request visual proof for access controls, workflows, and UI security
✅ Workflow recordings prove process compliance across multi-step, multi-system procedures
✅ Manual screenshot collection takes 60 minutes per control; automation reduces to 3 minutes
✅ Screenshot quality matters - must include context, timestamps, and annotations
✅ Automated capture ensures consistency and eliminates missed/incomplete screenshots
✅ ROI of 74% with annual savings of $29,000+ for typical mid-market companies
Automate Your Screenshot Evidence
Screenata automatically captures screenshots during control testing and generates auditor-ready evidence packages—ensuring you never miss required visual proof.
What's automated:
- Screenshot capture at key moments
- Context inclusion (URL, timestamp, user)
- AI-generated descriptions
- Professional formatting
- Control mapping
- Export to GRC platforms
Results:
- 78% time savings per control
- 100% screenshot coverage
- Zero auditor rejections
- Professional presentation
Related Articles
Ready to Automate Your Compliance?
Join 50+ companies automating their SOC 2 compliance documentation with Screenata.