Compliance OperationsCalendarDeadline TrackingDeep Prototype

ComplianceCal — Unified Compliance Calendar

A rolling 13-month calendar of every compliance deadline. 42 seeded items across SOC2, ERISA, BSA/AML, HIPAA, GDPR, PCI, OSHA, EU AI Act, contract renewals, certifications, and insurance — owner-assigned, status-tracked, framework-filterable.

ComplianceCal — Unified Compliance Calendar preview
Open live →

What it is

The screen that prevents the conversation “we should have done X two months ago.” Every compliance deadline that affects your company, on one calendar, with owner + status + regulatory citation.

What’s in it

  • 42 seeded deadlines spanning the actual compliance year. SOC2 audit windows + readiness reviews + evidence gap-fill. ERISA Form 5500, SAR distribution, fidelity bond renewal. BSA/AML SAR filing windows (30 days), CTR filing (15 days), OFAC re-screening, annual risk-assessment refresh. HIPAA breach notification, Security Risk Analysis. GDPR DPIA refresh, ROPA refresh, sub-processor consent renewals. PCI quarterly external scans (4 per year, all auto-generated), annual penetration test, AOC renewal. OSHA 300A posting + electronic submission. EU AI Act high-risk inventory + technical documentation. Vendor contract renewals (Datadog, Salesforce, WeWork lease). Cyber + D&O insurance renewals.
  • 13-month rolling view (1 month back + 12 months forward), grouped by month.
  • Per-event metadata: framework + regulatory citation, owner, status (todo / in progress / done), detail.
  • Filterable by framework, status, owner, free-text.
  • Status math — overdue (past due, not done), due ≤14 days (warn), due ≤30 days (notice), beyond 30 days.

Why this shape

Most companies maintain compliance calendars in Outlook / Asana / Notion / spreadsheet — each owner’s silo. The org-wide rollup is what auditors and the board want. ComplianceCal prototypes that unified shape.

How it ships

Single HTML file, ~30KB. Zero dependencies. The 42-deadline catalog, month-bucket grouping, status logic, and detail panel are 280 lines of vanilla JavaScript.

Open the tool →