Policy Purpose
Godia.ai is a SaaS provider of conversational AI agents. This document describes the technical and organisational security measures (TOMs) applied to our platform, ensuring the confidentiality, integrity and availability of our clients' and their users' data.
100% of data is hosted within the European Union.
Hosting & Infrastructure
All platform components are hosted within the European Union:
- Application: Railway (europe-west4, Belgium/Netherlands, EU), SOC 2 certified
- Database: PostgreSQL 16 managed by Neon (EU), SOC 2 Type II certified, multi-zone replication
- AI Engine: Mistral AI SAS (France, EU). Data is not used for model training.
- Transactional Emails: Mailjet/Sinch (France, EU), ISO 27001 certified
- OAuth Authentication: Google / Microsoft, Authorization Code PKCE flow (no business data transferred)
No data transfers outside of the European Union.
Governance & Organisation
- External DPO appointed: dpo@godia.ai
- Security contact: security@godia.ai (response SLA: 4 hours for critical incidents)
- Security responsibility: held by the technical management
- Awareness: security and GDPR best practices shared internally
Access Control (IAM)
- Multi-Factor Authentication (MFA / TOTP)
TOTP (Time-based One-Time Password) available for all client portal users. Activation via Profile → Security. Once enabled, a 6-digit code verification is required at every login. Compatible with Google Authenticator, Authy, Microsoft Authenticator.
- SSO (Single Sign-On)
OAuth2/OIDC via Google and Microsoft, Authorization Code PKCE flow. MFA for SSO users is delegated to the organisation's identity provider.
- Role-Based Access Control (RBAC)
Differentiated roles: Admin (full access), Member (operational), Viewer (read-only), Custom (configurable granular permissions). The
canExportDatapermission is required for SIEM export, verified server-side (HTTP 403 if missing). - Automatic Inactive Account Deactivation
Automated daily job: warning at 60 days of inactivity (
INACTIVITY_WARNINGevent in the SIEM). Automatic revocation of all sessions at 90 days (GDPR Art. 32 / DORA Art. 9). Each event is timestamped in the audit trail.
Data Encryption
- In Transit
TLS 1.2 / 1.3 enforced on all connections. HTTPS mandatory, HSTS enabled (
max-age=31536000). HTTP automatically redirected to HTTPS. - At Rest
Sensitive data (CRM credentials, OAuth, prospect files): AES-256-GCM application-level encryption before persistence. PostgreSQL database: AES-256 at infrastructure level (Neon). Backups: AES-256.
- JWT Session Keys
RS256, automatic rotation every 7 days. Primary key + backup key maintained for multi-instance high availability. Never transmitted in clear text.
- Developer API Keys
Format
godia_live_<base64url-32bytes>: only the SHA-256 hash is stored in the database. The plaintext key is displayed only once upon creation, never stored or recoverable.
Multi-Tenant Isolation
Three cumulative levels ensure strict data isolation between organisations:
clientIdcolumn on all tables: mandatoryWHERE client_id = $clientIdfilter on every SQL query. Architecturally impossible to access data without this filter.- Authentication middleware: injects and verifies the
clientIdon every API call, before any data access. - Ownership verification on every endpoint: immediate HTTP 403 on cross-tenant access attempts, even if the identifier is known.
Real-time automatic alerts on any isolation breach attempt (TENANT_VIOLATIONS), logged in the SIEM.
Network & API Security
- Rate Limiting
Global: 3,000 req / 15 min per IP (sliding window). Login: 5 attempts / 15 min, automatic temporary lockout. API v1: 1,000 req / hour per key. SIEM Export: 10 exports / hour per organisation.
- HTTP Security Headers
HSTS (
max-age=31536000),X-Frame-Options: DENY,X-Content-Type-Options: nosniff, strictContent-Security-Policyenabled on all responses. - CSRF Protection
Synchronised token (sessionStorage) + server-side validation on all mutating routes. GET requests are exempted.
- CORS
Strict whitelist of allowed origins. Only the chat widget APIs are intentionally open to allow integration on client websites.
Logging & Monitoring (SIEM)
- Log Tables (append-only)
4 tables not editable through the interface: auth_events (logins, MFA, revocations), 90-day retention. access_logs (sensitive data access, admin actions), 90-day retention. client_activity_logs (portal actions), 30-day retention. alert_history (security alerts), 90-day retention.
- Native SIEM Export
JSON and CSV format from the client portal, compatible with Elastic, Splunk, QRadar, Microsoft Sentinel. Filters by time period and event type. Organisation-isolated server-side.
canExportDatapermission required. Anti-exfiltration rate limit: 10 exports / hour. - Automated Alerts (6 active rules)
Brute force login, tenant isolation violations, invalid tokens, access anomalies, prolonged inactivity: immediate email notification via Mailjet upon trigger.
Vulnerability Management
- Dependency Analysis
npm auditintegrated into every build. Automatic alerts on known vulnerabilities in dependencies. - Remediation SLA
Critical: 48h / High: 7 days / Medium: 30 days / Low: next release.
- Penetration Testing
External pentest by a certified third party planned for H2 2026. Internal security tests performed on every major release.
- Responsible Disclosure
Official programme available on our dedicated page. Reports via security@godia.ai (response SLA: 48h for any reported vulnerability).
Secure Development
- Input Validation
Zod (strict TypeScript schemas) on 100% of backend routes. Systematic rejection of data that does not conform to the expected schema.
- SQL Injection Prevention
Drizzle ORM, parameterised queries only. No SQL string concatenation in the codebase.
- Code Reviews
Systematic on every pull request before merge to production.
- Secrets Management
Railway environment variables, never in source code or the Git repository. OAuth and CRM credentials encrypted with AES-256-GCM before persistence.
- Environment Segmentation
Production and development environments are separated, with distinct databases and environment variables. No cross-access between prod/dev.
Operational Resilience
- RTO / RPO
RTO (Recovery Time Objective): < 15 minutes, automatic Railway restart. RPO (Recovery Point Objective): 24 hours, daily Neon backup.
- Availability SLA
99.5% monthly guaranteed, 99.9% available by contract. See our full SLA. Real-time status: status.godia.ai.
- Backups
Daily AES-256 encrypted backups, managed by Neon. 30-day retention. EU multi-zone replication.
- Degraded Mode
If the AI engine becomes unavailable, existing data (conversations, leads, analytics) remains accessible. Explicit error messages are returned, with no silent fallback.
Incident Management
- Response Process
Detection via SIEM alerts → internal qualification → client notification (4h SLA for critical incidents) → remediation → post-incident report (PIR).
- Post-Incident Reports (PIR)
Available in the client portal: creation, tracking and closure from the interface. Each incident documented with timeline, impact and corrective measures.
- Regulatory Notification
Documented procedure: notification to supervisory authorities within 72 hours in case of a personal data breach (GDPR Art. 33). Automatic email notification to affected organisations.
- Operational Support
L1: in-app ticket → L2: support@godia.ai → L3: technical management → L4: security emergency security@godia.ai (4h SLA).
GDPR & DORA Compliance
- DPIA (Art. 35 GDPR)
Formalised impact assessment (March 2026), 4 documented processing activities: AI conversations, lead management, authentication, SIEM logging. Available upon request.
- ICT Register (DORA)
Complete and operational. ICT providers formalised in the DPIA: Mistral AI SAS (France), Railway (infrastructure), Neon (database).
- PIR Module (DORA)
Post-incident reports accessible from the client portal, with integrated incident reporting, tracking and closure from the interface.
- SIEM Export (DORA)
JSON/CSV from the portal, compatible with market SIEM tools (Elastic, Splunk, QRadar, Microsoft Sentinel).
- DPA Art. 28 GDPR
Data processing agreement available for signature before any contractual relationship begins. Contact: legal@godia.ai.
- Exit Strategy
Full data export provided within 30 days upon termination. Permanent deletion within 60 days. No proprietary lock-in: standard PostgreSQL, data exportable in JSON/CSV.
Security Contacts
- Vulnerability Reporting: security@godia.ai (4h SLA for critical issues). See also our responsible disclosure programme.
- DPO / GDPR Inquiries: dpo@godia.ai
- Compliance & DPA: legal@godia.ai
- L2 Technical Support: support@godia.ai
- L1 Client Portal Support: in-app ticket from the portal