Security & Compliance
ClearAI HQ is built on infrastructure you can audit. This page documents what is implemented, what is planned, and where gaps remain. We do not exaggerate our security posture — aspirational items are labelled Planned with a target date.
✓ verified EU (Ireland) data residency
✓ verified HTTPS enforced + HSTS
✓ verified GDPR — DPA at /dpa
✓ verified Incident monitoring live
01
Infrastructure & Hosting
Application hosting & CDN
Netlify (United States). All HTTP requests are served through Netlify's global CDN. Netlify is covered by Standard Contractual Clauses for EU data transfers.
Verified
Database, authentication & file storage
Supabase — PostgreSQL with row-level security, Supabase Auth, and private file storage buckets. All user data is stored here. Primary authentication (JWT issuance, session management, password hashing) is managed by Supabase Auth.
Verified
Primary data region
Supabase project region: EU (Ireland — eu-west-1). All primary user data is stored in the EU.
Verified
02
Encryption
In transit
All connections to clearaihq.com and its API endpoints use HTTPS with TLS 1.2 or higher. HTTP Strict Transport Security (HSTS) is enabled with max-age=31536000; includeSubDomains; preload, enforcing HTTPS on all subsequent connections and preventing downgrade attacks.
Verified
At rest — storage layer
Data is encrypted at rest by Supabase at the disk layer (AES-256, managed by Supabase). This covers all database records, including stored OAuth credentials.
Verified
At rest — application layer
There is no additional application-layer encryption of stored credentials beyond Supabase disk encryption. OAuth tokens are further protected by row-level security and service-role isolation (see Access Control). We do not operate a separate key management system.
Not claimed
03
Access Control & Data Isolation
Row-level security on all tables
Every table containing user data has RLS enabled. Authenticated users can read and modify only their own rows. Automated writers (cron functions, webhooks) run as the service role under separate credentials.
Verified
Social token isolation
The connected_account_tokens table has RLS enabled with zero client-accessible policies — inaccessible to all client requests; accessible only via service role. No user can read another user's OAuth tokens. Legacy OAuth columns in user_profiles remain readable by the row owner only until the B4 read-cutover migration removes them — see §13 Known Gaps.
Verified
Identity derived from JWT only
All authenticated API endpoints derive the user identity from the verified Supabase JWT via auth.getUser(). User IDs are never accepted from request bodies or query parameters. Ownership is checked before every write.
Verified
Scheduled post state machine (DB-enforced)
The scheduled_posts status field is governed by a SECURITY DEFINER database trigger (trg_fn_status_guard) that enforces which role may make which transition. Invalid transitions are rejected at the database layer — application code cannot bypass this.
Verified
Append-only post audit log
Every state transition on scheduled_posts is written to post_audit_log by the SECURITY DEFINER trigger. The log is INSERT-only for authenticated users — no UPDATE or DELETE is permitted. This covers the post publication lifecycle. General access audit logging (who read which record, when) is not implemented.
Verified
04
Authentication
Password hashing
Passwords are hashed using bcrypt via Supabase Auth. Passwords are never stored in plaintext.
Verified
Session management
Sessions are managed by Supabase Auth JWTs. Tokens are short-lived and rotated on refresh. Sessions can be invalidated server-side.
Verified
Multi-factor authentication (MFA)
MFA is not currently available in the product UI. Supabase Auth supports MFA; wiring it into the product is on our roadmap. Target: Q4 2026
Planned
One-time tokens (review links, subscriber tokens)
Approval-review tokens and subscriber unsubscribe tokens are stored as SHA-256 hashes. The raw token value is returned to the caller once at creation and is not stored in recoverable form. Review links use URL fragments (not query parameters) with no-referrer meta, preventing tokens from appearing in server logs of linked resources.
Verified
05
Webhook & API Security
Meta webhook HMAC verification
Incoming webhooks from Facebook, Instagram, and Threads are verified using HMAC-SHA256 (X-Hub-Signature-256) with a length-guarded crypto.timingSafeEqual comparison. Verification failures return 403 and drop the request.
Verified
Public endpoint hardening
Public-facing form endpoints include honeypot fields (bot filtering), server-side rate limiting (status subscriptions: 3 per hour per IP), and server-side Origin header validation on analytics ingest with per-site daily event caps.
Verified
HTTP security headers
All responses carry: X-Frame-Options: SAMEORIGIN, X-Content-Type-Options: nosniff, Referrer-Policy: strict-origin-when-cross-origin, Permissions-Policy: camera=(), microphone=(), geolocation=().
Verified
OAuth state parameter HMAC signing
OAuth flows include a state parameter. HMAC signing of the state value (CSRF protection for the OAuth callback) is on our roadmap. Target: Q3 2026
Planned
06
AI & Content Security
AI input fencing
All user-generated content passed to AI models is wrapped with explicit data delimiters and a treat-as-data instruction, preventing prompt injection from user content.
Verified
Raw social payload isolation
Raw social media payloads (raw_payload) are never rendered in any user interface and are never passed to AI models. This column is explicitly excluded from all SELECT queries used in API responses.
Verified
AI reply suggestions — human-in-the-loop
AI-generated reply suggestions are written to a plain textarea. They are never auto-sent — publishing always requires explicit user action.
Verified
First-party analytics (ClearTrack)
The ClearAI HQ website uses ClearTrack, a first-party analytics tool built into the platform. Visitor data flows directly to ClearAI HQ's Supabase database — no third-party analytics processor is involved. Nothing runs before consent is given; declining sets a permanent no-op. No IP addresses are stored. When users visit a site running ClearTrack, ClearAI HQ processes that visitor data as the site operator's processor under the DPA.
Verified
07
GDPR & Data Privacy
Controller location & jurisdiction
ClearAI HQ is operated from Stockholm, Sweden. We are subject to GDPR and Swedish data protection law. Our supervisory authority is the Swedish Authority for Privacy Protection (IMY).
Verified
Data Processing Agreement (DPA)
Our GDPR Article 28 DPA is available at
/dpa. It covers sub-processor authorisation, security measures, data subject rights assistance, breach notification, audit rights, and international transfer mechanisms.
Verified
Data subject rights (DSAR)
Customers can exercise access, rectification, erasure, restriction, portability, and objection rights by emailing
privacy@clearaihq.com. We respond within 30 days. The platform includes a per-contact GDPR export endpoint and a hard-delete endpoint for CRM data.
Verified
Contact erasure cascade
When a CRM contact is hard-deleted, the deletion cascades through linked visitor identities, tracking sessions, and tracking events. No orphaned analytics data is retained.
Verified
Breach notification
We will notify the supervisory authority within 72 hours of becoming aware of a personal data breach (GDPR Article 33). We commit to notifying affected controllers within 48 hours (DPA Article 10).
Verified
International transfers
Transfers to US-based sub-processors (Anthropic, Google LLC, OpenAI LLC, ElevenLabs, Netlify, Resend, Stripe, Unsplash) are covered by Standard Contractual Clauses (SCCs) adopted under GDPR Article 46(2)(c). Supabase primary storage is in EU (Ireland — eu-west-1) — no SCC transfer required for Supabase data.
Verified
Data Protection Officer (DPO)
A formal DPO has not been designated. Whether one is required under GDPR Article 37 is subject to ongoing legal review. Privacy and data protection enquiries:
privacy@clearaihq.com.
Pending legal review
08
Sub-Processors
Platform integrations are not sub-processors. Social media APIs (Meta, Instagram, LinkedIn, TikTok, Threads, Google Business) are user-authorized third-party integrations — you authorize them directly via OAuth. ClearAI HQ acts as your agent when publishing to those platforms; data flows to them under your own Terms with each platform, not as ClearAI HQ sub-processing.
| Sub-processor |
Location |
Purpose |
Transfer mechanism |
| Supabase Inc. |
EU (Ireland — eu-west-1) |
Database, authentication, file storage. All account, content, CRM, and analytics data. |
EU data residency — no transfer required |
| Netlify Inc. |
USA |
Web hosting, CDN, serverless function execution. Request logs; deployed application. |
SCCs |
| Anthropic PBC |
USA |
Claude AI — language model processing for content generation, inbox suggestions, and attribution summaries. Prompts not retained for training. |
SCCs; Anthropic standard commercial DPA |
| Resend Inc. |
USA |
Transactional email delivery: post failure alerts, trial emails, approval notifications, status incident subscriber emails. |
SCCs |
| Stripe Inc. |
USA |
Payment processing and billing. Billing name, card last-4, invoices only. Full card numbers are never stored by ClearAI HQ. |
SCCs + PCI DSS |
| Google LLC |
USA |
Gemini AI — language model processing for chat features. Prompts not retained for training. |
SCCs; Google standard commercial DPA |
| Google LLC — Cloud TTS |
USA |
Google Cloud Text-to-Speech — synthesises speech audio from text for chat voice output. Separate service and key from Gemini (both are Google LLC). |
SCCs; Google standard commercial DPA |
| OpenAI LLC |
USA |
Image generation (gpt-image-1 / DALL-E) for social content and blog posts. |
SCCs |
| ElevenLabs Inc. |
USA |
Text-to-speech voice synthesis for chat reply audio output. |
SCCs |
| Unsplash (a Getty Images company) |
USA |
Stock image retrieval — search queries sent to fetch hero and section images for blog posts and social content. |
SCCs |
Sub-processor changes are notified via Privacy Policy update and, where the change materially affects data processing, by email at least 14 days in advance. The full list is also maintained in the Privacy Policy.
09
Incident Response & Monitoring
Automated health monitoring
Every scheduled background function (17 total) writes a heartbeat record on each run. A dedicated evaluator runs every 30 minutes, derives component health from heartbeat history, and detects transitions between Operational, Degraded, and Down states.
Live since July 2026
Alert hysteresis
State transitions are confirmed across two consecutive evaluation cycles before an alert fires, preventing spurious notifications from transient failures.
Verified
Public status page
System status and 90-day history are public at
/status. Active incidents are declared and updated publicly with a timestamped timeline. Subscribers receive email notifications when incidents are declared or resolved.
Live since July 2026
Incident declaration
The evaluator auto-drafts an incident for administrator review when a component is confirmed down. Incidents are human-reviewed before publication. We do not auto-publish incident text without human sign-off.
Verified
Breach notification procedure
Security incidents affecting personal data: controller notification within 48 hours (DPA Art. 10); supervisory authority notification within 72 hours (GDPR Art. 33). Notification is sent to the email address associated with the controller's account.
Verified
10
Backup & Disaster Recovery
Database backups
No automated backups or point-in-time recovery on the current plan (dashboard-confirmed 2026-07-28). Daily backups are planned — see RTO/RPO.
Verified
Primary database region
Supabase project region: EU (Ireland — eu-west-1).
Verified
Application deployment rollback
Every push to main triggers a Netlify deployment. Any prior application deployment can be rolled back from the Netlify dashboard. This covers application code only — database data state at rollback time reflects whatever migrations have run. See Database backups above for data recovery.
Verified
RTO / RPO targets
Formal Recovery Time Objective and Recovery Point Objective targets have not been defined for v1. These depend on the Supabase plan tier. Target: Q3 2026
Planned
11
Audit Rights
Business customers may exercise audit rights as described in Article 12 of the DPA:
On-site audit
30 days' advance written notice required. Once per calendar year maximum (unless required by a supervisory authority). The auditor must be bound by confidentiality obligations acceptable to ClearAI HQ. All costs borne by the Controller.
Per DPA Art. 12
Questionnaire alternative
As an alternative to an on-site audit, we provide written responses to reasonable security questionnaires. This is the practical route for most compliance reviews.
Available on request
Contact security@clearaihq.com to initiate an audit or request a questionnaire.
12
Certifications & SOC 2 Roadmap
ClearAI HQ certifications
ClearAI HQ holds no security certifications (ISO 27001, SOC 2, or equivalent) at this time. Our infrastructure sub-processors hold their own:
None currently
| Sub-processor | Certifications |
| Supabase | SOC 2 Type II (as of Jul 2026, per vendor trust page) |
| Netlify | SOC 2 Type II (as of Jul 2026, per vendor trust page) |
| Stripe | SOC 2 Type II, PCI DSS Level 1 (as of Jul 2026, per vendor trust page) |
| Anthropic | SOC 2 Type II (as of Jul 2026, per vendor trust page) |
SOC 2 Type II audit — ClearAI HQ
Planned. No audit has been initiated. Target: 2027
Planned
13
Known Gaps & Honest Limits
The following items are not yet implemented. We document them here because overstating our security posture is worse than an honest gap.
Not yet implemented
Multi-factor authentication (MFA)
Not available in the product UI. Supabase Auth supports it; product integration is on the roadmap.
Planned Q4 2026
OAuth state parameter HMAC signing
Callback CSRF hardening (HMAC-signed state) is planned.
Planned Q3 2026
Legacy OAuth token columns — user_profiles
The user_profiles table contains legacy social OAuth token columns that are accessible by the authenticated row owner until the B4 read-cutover migration is complete. connected_account_tokens (the intended long-term store) has zero client access. B4 cutover will remove the legacy columns.
Pending B4 cutover
Application-layer token encryption
OAuth credentials are protected by Supabase disk encryption and service-role RLS isolation. There is no additional envelope encryption or client-side key management.
Not claimed
Application-level access audit log
The post_audit_log covers scheduled post state transitions. General access audit logging (who read which data record, when) is not implemented.
Not claimed
Formal RTO / RPO targets
Not defined for v1. Recovery capabilities depend on the Supabase plan tier in use.
Planned Q3 2026
SOC 2 Type II certification
Not initiated. On the roadmap. No security certification is held by ClearAI HQ at this time.
Planned 2027