Purpose of the policy
Godia.ai is a SaaS publisher of conversational AI agents. This document describes the technical and organizational security measures (TOMs) applied to our platform, ensuring the confidentiality, integrity and availability of our customers' 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 transfer outside the European Union.
Governance and Organization
- GDPR contact: legal@godia.ai (no DPO formally appointed at this stage — regulatory threshold of GDPR Art. 37 not met)
- Security contact: legal@godia.ai (response SLA: 4h for critical incidents)
- Security responsibility: held by technical leadership
- Awareness: security and GDPR best practices distributed 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, verification of a 6-digit code is required at every login. Compatible with Google Authenticator, Authy, Microsoft Authenticator. 10 recovery codes generated upon activation.
- SSO (Single Sign-On)
OAuth2/OIDC via Google and Microsoft, Authorization Code PKCE flow. MFA for SSO users is delegated to the organization's identity provider.
- Role management (RBAC)
Three native roles: Owner (organization owner, full access), Admin (administration and configuration), Member (operational). Each member additionally has configurable granular permissions (canViewAnalytics, canManageAgents, canViewConversations, canViewProspects, canManageTeam, canManageBilling, canExportData, canViewCopilot) allowing read-only or custom profiles to be defined. The
canExportDatapermission is required for SIEM export, enforced server-side (HTTP 403 if missing). - Automatic deactivation of inactive accounts
Daily automated 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; includeSubDomains; preload). HTTP automatically redirected to HTTPS. - At rest
Sensitive data (CRM credentials, OAuth tokens, prospect files): application-level AES-256-GCM 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 high availability across multiple instances. Immediate revocation via LRU cache of invalidated tokens. Never transmitted in clear text.
- Developer API keys
Format
godia_live_<base64url-32bytes>(orgodia_test_for the test environment): only the SHA-256 hash is stored in the database. The plain key is shown only once at creation, never stored or recoverable.
Multi-tenant Isolation
Three cumulative layers ensure strict data isolation between organizations:
clientIdcolumn on all tables:WHERE client_id = $clientIdfilter mandatory on every SQL query. Architecturally impossible to access data without this filter.- Authentication middleware: injects and verifies the
clientIdat every API call, before any data access. - Ownership check on every endpoint: immediate HTTP 403 on any cross-tenant access attempt, 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 30-minute temporary block. API v1: 1,000 req / hour per key. SIEM export: 10 exports / hour per organization.
- HTTP security headers
HSTS (
max-age=31536000; includeSubDomains; preload),X-Content-Type-Options: nosniff, strictContent-Security-Policyenabled on all responses.X-Frame-Optionsis set toDENYfor the client portal (anti-clickjacking) andALLOWALLfor chat widgets to allow intentional cross-domain embedding on customer websites (governed by CSPframe-ancestors). - CSRF protection
Synchronized token (sessionStorage) + server-side validation on all mutating routes. GET requests are exempt.
- CORS
Strict whitelist of authorized origins. Only chat widget APIs are intentionally open to allow integration on customer websites.
Logging & Monitoring (SIEM)
- Log tables (append-only)
4 tables non-modifiable 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 period and event type. Server-side isolation per organization.
canExportDatapermission required. Anti-exfiltration rate limit: 10 exports / hour. - Automatic alerts (5 rules + inactivity detection)
5 active alert rules in the SIEM engine: login brute-force attempts, CSRF violations, tenant isolation violations, invalid token attempts, suspicious activity. In addition, a dedicated daily job detects extended inactivity (60d / 90d). Immediate email notification via Mailjet upon trigger.
Vulnerability Management
- Dependency analysis
npm auditautomatically executed on every push and pull request via GitHub Actions (security-audit.ymlworkflow), and on a weekly scheduled basis (cron). The pipeline fails if a vulnerability of High or Critical severity is detected. JSON report archived for 30 days. - Remediation SLA
Critical: 48h / High: 7 days / Medium: 30 days / Low: next release.
- Penetration testing
External pentest by a certified third party scheduled for H2 2026. Internal security testing performed at every major release.
- Responsible disclosure
Official program available on our dedicated page. Reporting via legal@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 not conforming to the expected schema.
- SQL injection prevention
Drizzle ORM, parameterized queries only. No SQL string concatenation in the codebase.
- Code reviews
Systematic on every pull request before merge to production.
- Secret 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 separated, with distinct databases and environment variables. No cross-access between prod and dev.
Operational Resilience
- RTO / RPO
RTO (Recovery Time Objective) contractual: 4 hours (worst case, full restoration from artifacts). Typical automatic application restart observed via Railway: < 15 minutes (common application incidents, no human intervention required). RPO (Recovery Point Objective): 24 hours, aligned with Neon backup frequency (sub-hour point-in-time recovery in practice for application incidents).
- Availability SLA
99.5% monthly guaranteed, 99.9% contractually available. See our full SLA. Real-time status: status.godia.ai.
- Backups
Daily AES-256 encrypted backups, managed by Neon. Retention according to the subscribed Neon plan. Multi-zone EU replication.
- Degraded mode
In the event of AI engine unavailability, existing data (conversations, prospects, analytics) remains accessible. Explicit error messages returned, no silent fallback to another provider.
Incident Management
- Handling process
Detection via SIEM alerts → internal qualification → customer 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 of competent supervisory authorities (CNIL France, CNPD Luxembourg) within 72 hours in the event of a personal data breach (GDPR Art. 33). Email notification to affected organizations via Mailjet, triggered from the administration portal.
- Operational support
L1: in-app ticket → L2: support@godia.ai → L3: technical leadership → L4: security emergency legal@godia.ai (4h SLA).
GDPR & DORA Compliance
- DPIA (GDPR Art. 35)
Formalized data protection impact assessment (DPIA-GODIA-2026-001 v1.0, March 2026), 4 documented processings: (1) AI conversations, (2) prospect management, (3) authentication & SIEM logging, (4) developer API keys. Available on request at legal@godia.ai. Next review: March 2027.
- ICT register (DORA)
Formal and operational register covering 6 ICT providers under DORA Art. 28: Railway (application infrastructure), Neon (database), Mistral AI SAS (AI engine, France), Mailjet/Sinch (transactional emails, France), Google LLC (OAuth), Microsoft Corporation (OAuth). Available on request.
- PIR module (DORA)
Post-incident reports accessible from the client portal, integrated incident reporting, tracking and closure from the interface.
- SIEM export (DORA)
JSON/CSV from the portal, compatible with leading SIEM tools (Elastic, Splunk, QRadar, Microsoft Sentinel).
- DPA GDPR Art. 28
Data Processing Agreement available for signature before any contractual relationship begins. Contact: legal@godia.ai.
- Exit strategy
Contractual commitment: full data export provided on request within 30 days upon termination. Definitive data deletion within 60 days after the end of the contract (except for legal retention obligations). No proprietary lock-in: standard PostgreSQL, data exportable in JSON/CSV via the portal. Per-provider details documented in the DORA register.
Contacts
- Vulnerability reporting: legal@godia.ai (4h SLA for critical issues). See also our responsible disclosure program.
- GDPR / Compliance / DPA inquiries: legal@godia.ai
- L2 technical support: support@godia.ai
- L1 client portal support: in-app ticket from the portal