Review → Test matrix
Test matrix.
For each acceptance criterion, which kinds of test are tagged to it — and where scenario evidence exists, whether they pass (gate G4). Measures test presence per type; the Verification ladder view owns the authoritative G4 verdict. Derived at b083f095.
Tagged
211 / 218
97% have a test claiming coverage
G4-verified
202 / 218
93% have a passing scenario
Tagged, not verified
9
claim without a passing-gate proof
Dark · failing
7 · 0✗
no test at all · G4 failing
ACs covered, by test type
An AC can appear in more than one column. Coverage today concentrates in scenario and unit — the integration and a11y columns have no AC-tagging convention yet, which is the backfill opportunity this matrix exists to surface.
| unitUnit | 14667% | |
| integrationIntegration | 10% | |
| scenarioScenario (api behavior) | 19790% | |
| bdd-e2eGherkin BDD e2e | 2311% | |
| e2ePlaywright e2e | 3416% | |
| a11yAccessibility | 00% |
Per-epic coverage
| Epic | Covered / total | Coverage |
|---|---|---|
| Epic 1 | 7 / 7 | 100% |
| Epic 2 | 7 / 7 | 100% |
| Epic 3 | 7 / 7 | 100% |
| Epic 4 | 5 / 5 | 100% |
| Epic 5 | 9 / 9 | 100% |
| Epic 6 | 11 / 11 | 100% |
| Epic 7 | 5 / 5 | 100% |
| Epic 8 | 6 / 6 | 100% |
| Epic 9 | 6 / 6 | 100% |
| Epic 10 | 9 / 9 | 100% |
| Epic 11 | 7 / 7 | 100% |
| Epic 12 | 6 / 6 | 100% |
| Epic 13 | 5 / 5 | 100% |
| Epic 14 | 7 / 7 | 100% |
| Epic 15 | 6 / 6 | 100% |
| Epic 16 | 5 / 5 | 100% |
| Epic 17 | 5 / 5 | 100% |
| Epic 18 | 10 / 11 | 91% |
| Epic 19 | 6 / 6 | 100% |
| Epic 20 | 7 / 7 | 100% |
| Epic 21 | 8 / 8 | 100% |
| Epic 22 | 9 / 9 | 100% |
| Epic 23 | 17 / 18 | 94% |
| Epic 24 | 10 / 11 | 91% |
| Epic 25 | 10 / 11 | 91% |
| Epic 26 | 10 / 10 | 100% |
| Epic 27 | 7 / 7 | 100% |
| Epic 28 | 4 / 7 | 57% |
Authoring queue · 7 ACs
Acceptance criteria with zero tagged tests of any type. Each needs a scenario or test.
US-18.11 · US-23.18 · US-24.11 · US-25.11 · US-28.5 · US-28.6 · US-28.7
Tagging-backfill queue · 141 files
Test files with no sanctioned AC tag. Add an acs: array, @ac: tag, or BRD § prose ref.
- unit84
- scenario10
- bdd-e2e10
- e2e34
- a11y3
Full matrix · 218 ACs
One row per AC; a tick means at least one test of that type is tagged to it (a claim of coverage). The G4 column is the verification — the committed gate verdict from state-derive (✓ = a passing scenario exists). A tagged row with a — in G4 has no gate to prove it passes — coverage claimed, not verified.
| AC | U | I | Sc | BDD | E2E | A11y | G4 |
|---|---|---|---|---|---|---|---|
| US-1.1OAuth install handshake | ✓ | · | ✓ | · | · | · | ✓ |
| US-1.2Signed payload JWT verification on app load | ✓ | · | ✓ | · | · | · | ✓ |
| US-1.3App Extensions registered on install | ✓ | · | · | ✓ | · | · | ✓ |
| US-1.4Webhook subscriptions registered on install | ✓ | · | · | · | · | · | ✓ |
| US-1.5Uninstall hook cleans up credentials and extensions | ✓ | · | ✓ | · | · | · | ✓ |
| US-1.6Persist BC staff on first load | · | · | ✓ | · | ✓ | · | ✓ |
| US-1.7Stamp mutating events with `actor_user_id` | ✓ | · | ✓ | · | · | · | ✓ |
| US-2.1Auto-detect BC Payments | ✓ | · | ✓ | · | ✓ | · | ✓ |
| US-2.2Stripe Connect onboarding | ✓ | · | ✓ | ✓ | ✓ | · | ✓ |
| US-2.3Processor compatibility detection at install | ✓ | · | ✓ | · | · | · | ✓ |
| US-2.4Sandbox/test mode | · | · | ✓ | ✓ | · | · | ✓ |
| US-2.5Processor health check | ✓ | · | ✓ | · | · | · | ✓ |
| US-2.6Multiple processor connections | ✓ | · | ✓ | · | · | · | ✓ |
| US-2.7Capture timing advisory at processor onboarding | · | · | ✓ | · | ✓ | · | ✓ |
| US-3.1Recharge export import | ✓ | · | ✓ | · | · | · | ✓ |
| US-3.2Payment method migration via Stripe/Braintree dataset import | · | · | ✓ | · | · | · | ✓ |
| US-3.3Cycle-date preservation | · | · | ✓ | · | · | · | ✓ |
| US-3.4PayWhirl export import | · | · | ✓ | · | · | · | ✓ |
| US-3.5Bold / MINIBC import | ✓ | · | ✓ | · | · | · | ✓ |
| US-3.6Dry-run migration with impact report | · | · | ✓ | · | · | · | ✓ |
| US-3.7PayWhirl API import (authoritative extraction) | · | · | ✓ | · | · | · | ✓ |
| US-4.1"Subscriptions" panel on a BC product | · | · | ✓ | · | ✓ | · | ✓ |
| US-4.2Subscription-enable wizard | ✓ | · | ✓ | ✓ | ✓ | · | ✓ |
| US-4.3Variant-level subscription enablement | · | · | ✓ | · | ✓ | · | ✓ |
| US-4.4Deactivate subscription plan | ✓ | · | ✓ | ✓ | · | · | ✓ |
| US-4.5Copy plan between products | ✓ | · | ✓ | · | ✓ | · | ✓ |
| US-5.1Multiple offered intervals | ✓ | · | ✓ | · | · | · | ✓ |
| US-5.2Pricing strategy — fixed discount % | ✓ | · | ✓ | · | · | · | ✓ |
| US-5.3Pricing strategy — BC Price List | ✓ | · | ✓ | · | · | · | ✓ |
| US-5.4Pricing strategy — fixed price | ✓ | · | ✓ | · | · | · | ✓ |
| US-5.5Free or paid trial | ✓ | · | ✓ | · | ✓ | · | ✓ |
| US-5.6Lock price at subscription creation | ✓ | · | ✓ | · | · | · | ✓ |
| US-5.7Commitment (minimum cycles) | ✓ | · | ✓ | · | · | · | ✓ |
| US-5.8Cancel lock plan policy — minimum term + early-cancellation policy | · | · | ✓ | · | · | · | ✓ |
| US-5.9Calendar-anchored billing plan anchor | · | · | ✓ | · | · | · | ✓ |
| US-6.1Gift subscriptions | ✓ | · | ✓ | · | · | · | ✓ |
| US-6.2Prepaid fixed-term subscriptions | ✓ | · | ✓ | · | · | · | ✓ |
| US-6.3Build-a-box subscriptions | ✓ | · | · | · | · | · | ✓ |
| US-6.4Bundle subscriptions | ✓ | · | ✓ | · | · | · | ✓ |
| US-6.5Membership subscriptions (access-based) | ✓ | · | ✓ | · | · | · | ✓ |
| US-6.6Usage-based subscriptions | ✓ | · | ✓ | · | · | · | ✓ |
| US-6.7Surprise-me / curation subscriptions | ✓ | · | ✓ | · | · | · | ✓ |
| US-6.8Referral subscriptions | ✓ | · | ✓ | · | · | · | ✓ |
| US-6.9AllotmentGrant — admin-granted recurring quota / wallet (PRD-COMPANION D18) | ✓ | · | ✓ | · | · | · | ✓ |
| US-6.10Multi-actor subscription — payer / beneficiary / manager distinct from owner (PRD-COMPANION D19) | ✓ | · | ✓ | · | · | · | ✓ |
| US-6.11Custom-field configuration on a plan (PRD-COMPANION D20) | ✓ | · | · | ✓ | · | · | ✓ |
| US-7.1Plan scoped to specific channels | ✓ | · | ✓ | · | · | · | ✓ |
| US-7.2Plan scoped to customer groups | ✓ | · | ✓ | · | · | · | ✓ |
| US-7.3Plan scoped to geographic region | ✓ | · | ✓ | · | · | · | ✓ |
| US-7.4Plan scoped to Price List | ✓ | · | ✓ | · | · | · | ✓ |
| US-7.5Scope audit view | ✓ | · | ✓ | · | · | · | ✓ |
| US-8.1Widget on Stencil PDP | ✓ | · | ✓ | · | ✓ | · | ✓ |
| US-8.2Widget on cart | · | · | · | · | ✓ | · | — |
| US-8.3Headless SDK | ✓ | · | · | · | · | · | — |
| US-8.4Widget theming | · | · | · | · | ✓ | · | — |
| US-8.5A/B widget copy | · | · | ✓ | · | · | · | ✓ |
| US-8.6Pre-purchase education panel | · | · | · | · | ✓ | · | — |
| US-9.1Line-item custom fields carry intent | ✓ | · | ✓ | · | · | · | ✓ |
| US-9.2`store/order/created` → Subscription creation | ✓ | · | ✓ | ✓ | ✓ | · | ✓ |
| US-9.3Post-purchase fallback capture | ✓ | · | ✓ | · | · | · | ✓ |
| US-9.4Mixed-cart checkout (subscription + one-time) | ✓ | · | ✓ | · | · | · | ✓ |
| US-9.5Third-party checkout support declaration | · | · | ✓ | · | · | · | ✓ |
| US-9.6Affirmative consent capture at subscribe (auto-renewal disclosure) | · | · | ✓ | · | · | · | ✓ |
| US-10.1Nightly schedule scan | ✓ | · | ✓ | · | ✓ | · | ✓ |
| US-10.2Charge executor workflow | ✓ | · | ✓ | · | ✓ | · | ✓ |
| US-10.3Charge anchor-date math | ✓ | · | ✓ | · | ✓ | · | ✓ |
| US-10.4Charge jitter for rate limiting | ✓ | · | ✓ | · | · | · | ✓ |
| US-10.5Pause/resume respects schedule math | ✓ | · | ✓ | · | · | · | ✓ |
| US-10.6Schedule visualization | ✓ | · | ✓ | · | ✓ | · | ✓ |
| US-10.7Future start date — pending_start state and deferred activation | · | · | ✓ | · | · | · | ✓ |
| US-10.8First-cycle proration for mid-year calendar-anchor sign-ups | ✓ | · | · | · | · | · | ✓ |
| US-10.9Capture timing configuration per store | ✓ | · | ✓ | ✓ | · | · | ✓ |
| US-11.1Configurable dunning policy | ✓ | · | ✓ | ✓ | ✓ | · | ✓ |
| US-11.2Retry execution | ✓ | · | ✓ | · | ✓ | · | ✓ |
| US-11.3Hard vs soft decline classification | ✓ | ✓ | ✓ | · | · | · | ✓ |
| US-11.4Automatic Card Updater integration | · | · | ✓ | · | · | · | ✓ |
| US-11.5Subscriber-initiated PM update resets retries | · | · | ✓ | · | · | · | ✓ |
| US-11.6Dunning notifications | ✓ | · | ✓ | · | · | · | ✓ |
| US-11.7Merchant-side dunning digest | · | · | ✓ | · | · | · | ✓ |
| US-12.1Refund a charge | ✓ | · | ✓ | · | · | · | ✓ |
| US-12.2Store credit as payment for next charge | ✓ | · | ✓ | · | · | · | ✓ |
| US-12.3Skip cycle without refund | · | · | ✓ | · | · | · | ✓ |
| US-12.4Merchant-initiated one-time charge | ✓ | · | ✓ | · | · | · | ✓ |
| US-12.5Chargeback dispute handling | · | · | ✓ | · | · | · | ✓ |
| US-12.6Tax handling on refund | · | · | ✓ | · | · | · | ✓ |
| US-13.1Event log per subscription | ✓ | · | ✓ | · | · | · | ✓ |
| US-13.2Daily reconciliation sweep | ✓ | · | ✓ | · | · | · | ✓ |
| US-13.3Replay a failed workflow | ✓ | · | ✓ | · | · | · | ✓ |
| US-13.4Structured logs with correlation IDs | · | · | ✓ | · | · | · | ✓ |
| US-13.5Metrics dashboard for platform SRE | · | · | ✓ | · | · | · | ✓ |
| US-14.1Create BC order on successful charge | ✓ | · | ✓ | · | ✓ | · | ✓ |
| US-14.2Tag order with subscription metadata | ✓ | · | ✓ | · | · | · | ✓ |
| US-14.3First-order linkage | · | · | ✓ | · | · | · | ✓ |
| US-14.4Order status mapping | · | · | ✓ | · | · | · | ✓ |
| US-14.5Order edit sync | ✓ | · | ✓ | · | · | · | ✓ |
| US-14.6Mid-cycle plan upgrade — delta-capture semantics | ✓ | · | ✓ | · | · | · | ✓ |
| US-14.7NTI verification charge before stale-NTI renewal (PRD-COMPANION D21) | ✓ | · | ✓ | · | · | · | ✓ |
| US-15.1Inventory check before charge | ✓ | · | ✓ | · | · | · | ✓ |
| US-15.2Price recalculation at renewal | ✓ | · | ✓ | · | · | · | ✓ |
| US-15.3Tax recalculation at renewal | · | · | ✓ | · | · | · | ✓ |
| US-15.4Shipping cost recalculation | · | · | ✓ | · | · | · | ✓ |
| US-15.5Free shipping on subscription | ✓ | · | ✓ | · | · | · | ✓ |
| US-15.6Pre-renewal OOS check — proactive inventory scan before charge with Exception Queue escalation | ✓ | · | ✓ | · | · | · | ✓ |
| US-16.1Subscriber opts into combined shipments | ✓ | · | ✓ | · | · | · | ✓ |
| US-16.2Single BC order per combined shipment | ✓ | · | ✓ | · | · | · | ✓ |
| US-16.3Merchant view of combined shipments | ✓ | · | ✓ | ✓ | · | · | ✓ |
| US-16.4Shipping cost allocation | ✓ | · | ✓ | · | · | · | ✓ |
| US-16.5Decoupled billing and shipping cadence — Phase 3 scaffold | · | · | ✓ | · | · | · | ✓ |
| US-17.1Magic-link email auth | ✓ | · | ✓ | · | · | · | ✓ |
| US-17.2BC storefront SSO | ✓ | · | ✓ | · | · | · | ✓ |
| US-17.3Portal custom domain | · | · | ✓ | · | · | · | ✓ |
| US-17.4Portal theming | ✓ | · | · | · | · | · | — |
| US-17.5Headless portal SDK | · | · | ✓ | · | · | · | ✓ |
| US-18.1Skip next charge | ✓ | · | ✓ | · | · | · | ✓ |
| US-18.2Swap product/variant | ✓ | · | ✓ | · | · | · | ✓ |
| US-18.3Pause subscription | ✓ | · | ✓ | · | · | · | ✓ |
| US-18.4Reschedule next charge | ✓ | · | ✓ | · | · | · | ✓ |
| US-18.5Cancel (with churn-prevention flow) | ✓ | · | ✓ | · | · | · | ✓ |
| US-18.6Update quantity | ✓ | · | ✓ | · | · | · | ✓ |
| US-18.7Reactivate cancelled subscription | ✓ | · | ✓ | ✓ | · | · | ✓ |
| US-18.8Change cadence / interval | ✓ | · | ✓ | · | · | · | ✓ |
| US-18.9Term-end renewal nudge — registration-style re-up distinct from MIT renewal | ✓ | · | ✓ | ✓ | · | · | ✓ |
| US-18.10Cancel lock — portal enforcement and CS-rep admin override | · | · | ✓ | · | · | · | ✓ |
| US-18.11Click-to-cancel — same-medium cancellation parity | · | · | · | · | · | · | — |
| US-19.1Update payment method | ✓ | · | ✓ | · | · | · | ✓ |
| US-19.2Default vs per-subscription PM | ✓ | · | ✓ | · | · | · | ✓ |
| US-19.3Update shipping address | ✓ | · | ✓ | · | · | · | ✓ |
| US-19.4Update billing address | ✓ | · | ✓ | · | · | · | ✓ |
| US-19.5Subscriber preferences | ✓ | · | ✓ | · | · | · | ✓ |
| US-19.6Update payment method across all subscriptions | · | · | ✓ | · | · | · | ✓ |
| US-20.1Cancel reason capture | · | · | ✓ | · | · | · | ✓ |
| US-20.2Intervention: pause-instead-of-cancel | ✓ | · | ✓ | · | · | · | ✓ |
| US-20.3Intervention: offer discount | · | · | ✓ | · | · | · | ✓ |
| US-20.4Intervention: change cadence | ✓ | · | ✓ | · | · | · | ✓ |
| US-20.5Intervention: escalate to support | · | · | ✓ | · | · | · | ✓ |
| US-20.6Intervention A/B testing | · | · | ✓ | · | · | · | ✓ |
| US-20.7Churn-flow obstruction guard (save-attempt limit) | ✓ | · | · | · | · | · | — |
| US-21.1KPI summary | ✓ | · | ✓ | · | ✓ | · | ✓ |
| US-21.2Upcoming charges panel | ✓ | · | ✓ | · | ✓ | · | ✓ |
| US-21.3Exception queue | ✓ | · | ✓ | · | ✓ | · | ✓ |
| US-21.4Subscription list with search & filter | ✓ | · | ✓ | · | · | · | ✓ |
| US-21.5Bulk actions on subscriptions | ✓ | · | ✓ | · | ✓ | · | ✓ |
| US-21.6Subscription detail view | ✓ | · | ✓ | · | · | · | ✓ |
| US-21.7Export subscription data (CSV) | ✓ | · | ✓ | · | ✓ | · | ✓ |
| US-21.8Analytics beyond KPIs (cohort, LTV) | ✓ | · | ✓ | ✓ | · | · | ✓ |
| US-22.1Create subscription manually | ✓ | · | ✓ | · | · | · | ✓ |
| US-22.2Customer lookup from BC App Extension | · | · | · | · | ✓ | · | — |
| US-22.3Impersonate subscriber (view-only) | ✓ | · | ✓ | ✓ | ✓ | · | ✓ |
| US-22.4Bulk subscription creation via CSV | ✓ | · | ✓ | ✓ | ✓ | · | ✓ |
| US-22.5Force-charge / force-refund | ✓ | · | ✓ | · | ✓ | · | ✓ |
| US-22.6Merchant note on subscription | ✓ | · | ✓ | · | · | · | ✓ |
| US-22.7AllotmentGrant management (issue, refresh-override, suspend, revoke) | ✓ | · | ✓ | · | ✓ | · | ✓ |
| US-22.8Custom-field admin UI — view, edit, validate | ✓ | · | ✓ | · | ✓ | · | ✓ |
| US-22.9B2B Edition — admin-only subscription enrollment for buyer-orgs (ADR-0023) | · | · | ✓ | ✓ | ✓ | · | ✓ |
| US-23.1Transactional emails | ✓ | · | ✓ | · | · | · | ✓ |
| US-23.2SMS notifications | · | · | ✓ | · | · | · | ✓ |
| US-23.3Template editor | ✓ | · | ✓ | ✓ | · | · | ✓ |
| US-23.4Merchant alerts & digests | · | · | ✓ | · | · | · | ✓ |
| US-23.5Klaviyo integration | · | · | ✓ | · | · | · | ✓ |
| US-23.6Gorgias / Zendesk integration | · | · | ✓ | · | · | · | ✓ |
| US-23.7Accounting integrations (NetSuite, QuickBooks, Xero) | · | · | ✓ | · | · | · | ✓ |
| US-23.8Outbound webhooks | ✓ | · | ✓ | · | · | · | ✓ |
| US-23.9Custom sending domain | ✓ | · | ✓ | ✓ | · | · | ✓ |
| US-23.10Deliverability monitoring | ✓ | · | ✓ | · | · | · | ✓ |
| US-23.11Suppression list management | · | · | ✓ | · | · | · | ✓ |
| US-23.12Magic-link email pipeline | ✓ | · | ✓ | · | · | · | ✓ |
| US-23.13Decline-reason-translated dunning email | ✓ | · | ✓ | · | · | · | ✓ |
| US-23.14Failed-render fallback | ✓ | · | ✓ | · | · | · | ✓ |
| US-23.15Idempotent send + dedupe | ✓ | · | ✓ | · | · | · | ✓ |
| US-23.16Webhook ingestion (bounce / complaint / open / click) | ✓ | · | ✓ | · | · | · | ✓ |
| US-23.17Localization framework | · | · | ✓ | · | · | · | ✓ |
| US-23.18Auto-renewal reminder notifications | · | · | · | · | · | · | — |
| US-24.1Company-account subscriptions | ✓ | · | ✓ | · | · | · | ✓ |
| US-24.2Role-based portal permissions | ✓ | · | ✓ | · | · | · | ✓ |
| US-24.3Approval workflow for subscription changes | ✓ | · | ✓ | · | · | · | ✓ |
| US-24.4Purchase order as payment method | ✓ | · | ✓ | · | · | · | ✓ |
| US-24.5Buyer hierarchy & visibility | · | · | ✓ | · | · | · | ✓ |
| US-24.6Volume-tier renewal pricing | · | · | ✓ | · | · | · | ✓ |
| US-24.7Contract-term commitments | · | · | ✓ | · | · | · | ✓ |
| US-24.8Multi-location shipping | · | · | ✓ | · | · | · | ✓ |
| US-24.9Admin-only B2B subscription enrollment in Phase 1 (ADR-0023) | ✓ | · | ✓ | · | · | · | ✓ |
| US-24.10`org_admin` actor role and multi-actor management on B2B subscriptions (PRD-COMPANION D19, ADR-0022) | · | · | ✓ | · | · | · | ✓ |
| US-24.11Catalyst storefront + Buyer Portal + subscription widget composite PDP behaviour | · | · | · | · | · | · | — |
| US-25.1Subscription-only coupon codes | ✓ | · | ✓ | ✓ | ✓ | · | ✓ |
| US-25.2Subscribe-and-save auto-promotion | ✓ | · | · | · | · | · | — |
| US-25.3Cycle-scoped discount | ✓ | · | ✓ | · | · | · | ✓ |
| US-25.4Tenure-based loyalty discount | · | · | ✓ | · | · | · | ✓ |
| US-25.5Promotion stacking rules | ✓ | · | ✓ | ✓ | · | · | ✓ |
| US-25.6Promotional free shipping | ✓ | · | ✓ | · | · | · | ✓ |
| US-25.7Subscription-exclusive bundles | ✓ | · | ✓ | · | · | · | ✓ |
| US-25.8Gift-with-subscription | ✓ | · | ✓ | · | · | · | ✓ |
| US-25.9Promotion reporting | ✓ | · | ✓ | ✓ | · | · | ✓ |
| US-25.10Time-tiered discount ladder | · | · | ✓ | · | · | · | ✓ |
| US-25.11Cycle-discount ladder — admin propagation controls | · | · | · | · | · | · | — |
| US-26.1Product inclusion by category | ✓ | · | ✓ | ✓ | · | · | ✓ |
| US-26.2Product exclusion | ✓ | · | ✓ | ✓ | · | · | ✓ |
| US-26.3Variant-level eligibility | · | · | ✓ | · | · | · | ✓ |
| US-26.4Custom-field-based eligibility | ✓ | · | ✓ | · | · | · | ✓ |
| US-26.5Customer-segment eligibility | · | · | ✓ | · | · | · | ✓ |
| US-26.6Geographic & channel restrictions | · | · | ✓ | · | · | · | ✓ |
| US-26.7Quantity min/max | ✓ | · | ✓ | · | · | · | ✓ |
| US-26.8Mutual exclusion rules | ✓ | · | ✓ | · | · | · | ✓ |
| US-26.9Conditional dependency rules | · | · | ✓ | · | · | · | ✓ |
| US-26.10Rule evaluation audit | ✓ | · | ✓ | · | · | · | ✓ |
| US-27.1Public REST API | ✓ | · | ✓ | · | · | · | ✓ |
| US-27.2API key management in admin | · | · | ✓ | · | · | · | ✓ |
| US-27.3Outbound webhook subscriptions | ✓ | · | ✓ | · | · | · | ✓ |
| US-27.4Headless SDK (TypeScript) | ✓ | · | · | · | · | · | ? |
| US-27.5GraphQL API | · | · | ✓ | · | · | · | ✓ |
| US-27.6App Marketplace for extensions | · | · | ✓ | · | · | · | ✓ |
| US-27.7Sandbox test stores | · | · | ✓ | · | · | · | ✓ |
| US-28.1GDPR data subject access request (DSAR) | ✓ | · | ✓ | · | · | · | ✓ |
| US-28.2GDPR/CCPA erasure | ✓ | · | ✓ | · | · | · | ✓ |
| US-28.3Audit log export | ✓ | · | ✓ | · | · | · | ✓ |
| US-28.4PCI DSS scope maintenance | · | · | ✓ | · | · | · | ✓ |
| US-28.5SOC 2 Type II readiness | · | · | · | · | · | · | — |
| US-28.6Data residency | · | · | · | · | · | · | — |
| US-28.7Auto-renewal disclosure policy & consent-record retention | · | · | · | · | · | · | — |