AttestIQA is a standalone, browser-based SOC 2 Type 2 workpaper platform built exclusively for independent CPAs. It runs entirely in your browser with no server, no cloud sync, and no third-party data transmission: all engagement data is encrypted with AES-256-GCM and stored in your browser's localStorage: never transmitted to third-party servers.
AttestIQA maps 62 controls to the AICPA Trust Services Criteria: complete coverage of all 53 criteria for a Security + Confidentiality + Privacy examination (Security CC1–CC9, Confidentiality C1, Privacy P1–P8): and the HIPAA Security and Privacy Rules (45 CFR Part 164), organized across seven evidence tabs. It includes the complete 28-step engagement wizard, five report sections (AT-C 205), a SQMS 1 pre-issuance checklist, a HIPAA Compliance workpaper tab, and an optional HITRUST CSF r2 readiness checklist.
| Area | What It Provides |
|---|---|
| 62 Controls | AWS Infrastructure (C-01–C-15), Application (A-01–A-08), Backup/Encryption (B-01–B-02), Policy, Confidentiality & Privacy (CC1–CC9, CN-01–CN-02, P-01–P-08), Supplemental (S-01–S-11) |
| HIPAA Mapping | All 23 sections of 45 CFR 164 Subpart C mapped to controls; HIPAA Compliance tab with 5 workpaper panels |
| Report Sections | Section I (Auditor's Report), II (Management Assertion), III (System Description), IV (Tests of Controls), V (Supplemental) |
| Letters | Engagement Letter, Representation Letter, Board Presentation Letter, VRM Questionnaire |
| Wizard | 28-step engagement wizard across 5 phases (Onboarding → Closing) |
| Quality Control | SQMS 1 §70 pre-issuance checklist, 24 items |
| AI Integration | JSON export/import for AI-assisted findings drafting (Claude, ChatGPT) |
| Browser | Minimum Version | Notes |
|---|---|---|
| Google Chrome | 115+ | Recommended |
| Microsoft Edge | 115+ | Recommended (Chromium-based) |
| Mozilla Firefox | 120+ | Supported |
| Apple Safari | 16+ | Supported (macOS/iPad) |
| Internet Explorer | Any | NOT SUPPORTED |
| Requirement | Minimum | Recommended |
|---|---|---|
| RAM | 8 GB | 16 GB (for large evidence pastes) |
| Screen | 1280 × 768 | 1920 × 1080 or wider |
| OS | Windows 10, macOS 11, Ubuntu 20+ | Windows 11 or macOS 14+ |
| Internet | Not required for core features | Required for version.json check and optional AI features |
AttestIQA_v1.html, or right-click → Open With → Chrome or Edge. No installation required.ATIQ-PRO-FIRMCODE-YYYYMM-XXXXXXXX. See Section 4 for tier details.Open AttestIQA_v1.html in the same browser. Enter your password and click Sign In. If you see the license entry screen instead of the login screen, your localStorage was cleared: see Section 32 for recovery options.
All AttestIQA license keys follow this structure:
| Segment | Meaning | Example |
|---|---|---|
ATIQ | Product identifier: always ATIQ | ATIQ |
PRO | License tier (see below) | SOLO, PRO, ENT, TRIAL, MASTER |
FIRMCODE | Firm identifier, unique per firm | ACME, SMITH |
YYYYMM | Expiry date (year + month) | 202612 = December 2026 |
XXXXXXXX | HMAC-8 checksum: cryptographic validation | 3A9F2C1B |
| Tier | Clients | Users | Use Case |
|---|---|---|---|
| SOLO | 1–3 clients | 1 CPA | Individual practitioner, sole proprietor |
| PRO | Up to 10 clients | Small firm | Small CPA firm, 2–5 staff |
| ENT | Unlimited | Enterprise | Large firm, white-label deployment |
| TRIAL | Limited functionality | 1 | 30-day evaluation; demo client only |
| MASTER | Unlimited | Internal admin | Sapphire internal use only |
AttestIQA automatically locks after 15 minutes of inactivity by default. The session timer resets on any click, keystroke, or mouse movement. When locked, all content is hidden and the password screen is shown. Re-enter your password to continue: no data is lost.
The timeout is configurable in Settings → Firm Preferences: 5, 10, 15, or 30 minutes. The 15-minute default is recommended for shared office environments.
The sidebar contains a Lock App button that locks immediately, regardless of inactivity. Use this whenever you step away from your workstation. There is also a Save & Lock option that confirms a save before locking.
All engagement data is encrypted with AES-256-GCM before being stored in your browser's localStorage. The encryption key is derived from your master password using PBKDF2 with 100,000 iterations: it is never stored anywhere, held only in memory while you are logged in. When you lock the app or close the browser, the key is cleared and your data remains encrypted at rest. Data never leaves your machine: no server, no cloud sync, no third-party transmission. For additional at-rest protection, enable full-disk encryption on your workstation (BitLocker on Windows, FileVault on macOS).
The top of the Dashboard shows the Practice Alerts panel. This panel automatically scans all engagements and surfaces items requiring attention. Alerts are color-coded:
| Level | Examples |
|---|---|
| Critical | Exception with no management response; SQMS checklist incomplete before report issuance; report overdue |
| Warning | Engagement period ending within 30 days; wizard step overdue; version update available |
| Info | New feature available; expiring engagement in 60+ days |
Each alert has a direct navigation button (e.g., "Go to Findings →") that takes you to the exact location of the issue.
Four summary cards show at a glance: Total Clients, Active Engagements, Controls Passing (aggregate across all clients), and Exceptions Found. These update in real time as you work.
The progress board displays all clients as cards. Each card shows: client name, entity type, a visual progress ring, current wizard phase, PASS/EXCEPTION count, and a Review → button. Click Review to open the Client Dashboard Modal for a full-screen at-a-glance summary of that engagement.
The modal shows the engagement phase timeline, client-specific alerts, control summary (Pass/Exception/Pending), document status, and a "blocking step" with direct navigation. The modal has four action buttons: Open Evidence, View Findings, Documents, and Generate Report.
From an empty dashboard, click the Load Demo Client button. This loads a pre-filled engagement for Sapphire Healthcare AI, Inc., a fictional health-tech company that gives you a realistic working example of a completed engagement.
The demo client includes:
- 16 representative controls pre-populated: 15 PASS, 1 EXCEPTION on
A-04(Role-Based Access Control) - All 5 HIPAA workpaper panels filled in (AWS BAA, training records, pen test, IR tabletop, SRA)
- 3 subprocessors registered: AWS, GitHub, Anthropic
- Change management git log and PR template samples pre-loaded
- SQMS checklist 18/24 complete
- Demo banner with a Delete Demo button to remove it when done
Click the orange Delete Demo button in the demo banner at the top of any demo-client page, or go to the dashboard and click the trash icon on the demo client card. Demo data is completely removed from localStorage.
Click + Add Client on the Dashboard. Required fields:
| Field | Notes |
|---|---|
| Client Name | Legal entity name as it will appear in the report |
| Entity Type | LLC, Corporation, Partnership, Non-Profit, etc. |
| Cloud Provider | AWS (primary), Azure, GCP, Multi-Cloud |
| TSC Scope Selection | See table below: choose one combination |
| Engagement Dates | Start and end dates of the examination period (typically 12 months) |
| TSC Scoping Rationale | Recommended: document why this TSC combination was selected |
| Option | Criteria Included | Typical Use |
|---|---|---|
| Security only | CC1–CC9 | Required baseline for all SOC 2 engagements |
| Security + Availability | CC + A1 | SaaS with uptime SLAs |
| Security + Confidentiality | CC + C1 | Data handling companies |
| Security + Processing Integrity | CC + PI1 | Financial transaction processing |
| Security + Confidentiality + Privacy | CC + C1 + P1–P8 | Recommended for health-tech / HIPAA clients |
| Security + Availability + Confidentiality | CC + A1 + C1 | High-availability healthcare platforms |
| All Five Trust Services Criteria | CC + A1 + C1 + PI1 + P1–P8 | Comprehensive enterprise engagements |
Each client card shows a visual progress ring. Progress is computed from two inputs: (1) the percentage of controls that have been reviewed (status set to PASS or EXCEPTION, not Pending), and (2) wizard step completion. The two scores are averaged into one ring display.
The wizard assigns each engagement to one of five phases displayed on the dashboard card:
| Phase | Steps | Description |
|---|---|---|
| Onboarding | 1–5 | Engagement setup, BAA, independence, TSC scoping |
| Observation | 6–11 | AWS access, management inquiry, population lists |
| Examination | 12–18 | Control testing, exceptions, HIPAA workpapers |
| Reporting | 19–24 | Management assertion, representation letter, SQMS, reports |
| Closing | 25–28 | Final deliverables, billing, archival, peer review |
The Evidence page contains seven tabs. The active tab is highlighted in teal. All seven tabs are available regardless of TSC scope: the CPA exercises professional judgment about which tabs are in-scope for the engagement.
| Tab | Controls | Purpose |
|---|---|---|
| AWS Infrastructure | C-01 – C-15 | Cloud security baseline: IAM, logging, encryption, network |
| Application Controls | A-01 – A-08 | Application-layer security: auth, RBAC, audit logging |
| Backup & Encryption | B-01 – B-02 | Data protection: TDE, backup automation |
| Policy & Governance | CC-series, CN-01–CN-02, P-01–P-08 | AICPA Common Criteria, Confidentiality & Privacy: policies, risk mgmt, monitoring |
| Supplemental Evidence | S-01 – S-11 | Enhanced evidence including MDM, incident response, physical security |
| Change Management | CC8.1 | Git/deploy controls, population lists, PR templates |
| HIPAA Compliance NEW | – | HIPAA administrative safeguard workpapers, BAA register, SRA |
Each control card contains these fields:
- Control Reference: e.g.,
C-04 - Control Name: Plain-English title
- HIPAA Citation: Applicable 45 CFR section (if any)
- TSC Criterion: Applicable AICPA Trust Services Criterion
- Description: What the control does in plain English
- Expected Evidence: What you should see if the control is operating effectively
- Evidence Paste Area: Paste raw AWS CLI or script output here
- CPA Notes: Freeform workpaper notes field
- Status: PASS / EXCEPTION / PENDING: CPA-settable override
- CPA Initials & Review Date: Sign-off fields
The client must provision an AuditorReadOnly IAM role before evidence collection begins (C-15). This role has read-only access to the AWS console: no write permissions are granted. The CPA logs into the client's AWS console using this role.
Evidence is pasted directly into each control's evidence area. Use the built-in Evidence Scripts guide (accessible from the Evidence page header) for the specific AWS CLI commands corresponding to each control.
A-04 is one of the most commonly excepted controls. The client must demonstrate that access to every application page is explicitly granted through role-based access control and that user access aligns with current job function across the full observation period: not just at engagement time. Cross-reference the user access listing against the HR terminated-employees list: flag any user whose access was not removed within the deprovisioning SLA. The review evidence should show reviewer name, review date, the population of users reviewed, and documented action for any access changes.
For B-02, AICPA best practice requires the client to demonstrate that backups are not just created but can be successfully restored. Request a backup restoration test performed during the examination period. If none was performed, note this as a finding and recommend management establish an annual restoration test procedure.
The Policy & Governance tab covers the AICPA Common Criteria categories plus the Confidentiality (CN-01–CN-02) and Privacy (P-01–P-08) controls when those categories are in scope. Evidence here is primarily documentary: policies, board minutes, risk registers, vendor contracts, and monitoring reports rather than technical output.
| Criterion | Category | Key Evidence |
|---|---|---|
| CC1 | Control Environment | Org chart, code of conduct, board oversight documentation |
| CC2 | Communication & Information | Security policy, internal communication records |
| CC3 | Risk Assessment | Risk register, annual risk assessment documentation |
| CC4 | Monitoring Activities | Internal audit reports, management review meeting minutes |
| CC5 | Control Activities | Change control policy, SDLC documentation |
| CC6 | Logical and Physical Access | Access control policy, physical security controls |
| CC7 | System Operations | Incident response policy, monitoring alerts, security logs |
| CC8 | Change Management | Change management policy, PR logs, deployment records (see Section 16) |
| CC9 | Risk Mitigation | Vendor contracts, business continuity plan, subprocessor list |
Purpose: Verifies that all corporate endpoints are enrolled in a Mobile Device Management (MDM) solution with full-disk encryption enabled, current OS patches (applied within ≤30 days), and remote wipe capability documented.
HIPAA Citation: 45 CFR 164.312(a)(2)(iv): Encryption and Decryption
TSC Criterion: CC6.8
Expected Evidence:
- MDM enrollment export showing 100% of corporate devices enrolled (e.g., Jamf, Intune, Kandji export)
- Encryption status report showing BitLocker (Windows) or FileVault (macOS) enabled on all devices
- Patch status report showing OS patches applied within the last 30 days
- Remote wipe capability confirmation (policy document or MDM console screenshot)
The Change Management tab covers AICPA CC8.1: the requirement that changes to infrastructure and applications follow an authorized, documented process with separation of duties. The tab has four sections:
- Git Commit Log: paste git log output for the examination period
- Population List Guidance: collapsible panel with audit-ready export rules
- PR Samples: HIPAA-compliant PR template loader
- Branch Protection & SoD Status: branch protection and segregation of duties documentation
Paste the output of this command into the Git Commit Log field:
Replace [engagement-start] and [engagement-end] with the engagement period dates in YYYY-MM-DD format. This produces a clean pipe-delimited population of all commits during the examination period.
The collapsible Population List Guidance panel details five rules for audit-ready population lists. All five must be satisfied for the git log or any other population list to be accepted as reliable audit evidence:
| # | Rule | What It Means |
|---|---|---|
| 1 | System-generated | Exported directly from git, IAM, or HR system: not manually compiled |
| 2 | Total row count visible | Include the export header showing total record count |
| 3 | Metadata intact | Keep all system-generated timestamps: do not strip or reformat |
| 4 | Full period coverage | Date range must span from engagement start date to engagement end date |
| 5 | No post-export modifications | No sorting, filtering, or column deletions after export |
Click Use PR Template to load a HIPAA-compliant pull request template. The template includes:
- ePHI Impact Assessment checkboxes (Does this change touch ePHI storage? Does this change affect access controls?)
- Reviewer attestation field (separate from author)
- Testing checklist (unit tests, integration tests, security scan)
- Deployment rollback plan field
Copy the template into the client's GitHub/GitLab repository as .github/pull_request_template.md.