Trust Center
Security
SEAES handles sensitive business data including website credentials, API tokens, and SEO strategies. Security is foundational to our platform — not an afterthought.
AES-256-GCM
All credentials encrypted at rest with military-grade encryption
SOC 2 Infrastructure
Hosted on Vercel + Supabase with SOC 2 Type II compliance
Zero Plain Text
API keys are never logged, displayed, or stored in plain text
Encryption
- Data at Rest: All sensitive credentials (CMS API keys, OAuth tokens, SSH keys) are encrypted using AES-256-GCM with HMAC-SHA256 key derivation from a secure server-side secret
- Data in Transit: All communications use TLS 1.3 encryption. HSTS headers enforce HTTPS across all endpoints
- Password Hashing: User passwords are hashed using bcrypt with a cost factor of 12 — we never store or transmit plain text passwords
- OAuth Tokens: Google Search Console and Analytics OAuth refresh tokens are encrypted at rest and refreshed automatically via secure server-side flows
- Database: PostgreSQL database hosted on Supabase with encryption at rest enabled by default
Infrastructure Security
- Vercel (Application Hosting): SOC 2 Type II certified, automatic DDoS protection, isolated serverless functions, automatic TLS certificate management
- Supabase (Database): SOC 2 compliant PostgreSQL with row-level security, encrypted backups, and network isolation
- Edge Network: Global CDN with automatic SSL, HTTP/3 support, and Web Application Firewall (WAF)
- No SSH Access: Our serverless architecture eliminates traditional server management — there are no SSH ports to attack
- Environment Variables: All secrets stored in Vercel's encrypted environment variable vault — never in source code or git history
Access Control
- Role-Based Access Control (RBAC): Three roles — Admin (full access), User (client dashboard), Viewer (read-only reports). Each role has strictly scoped permissions
- Authentication: NextAuth.js with Google OAuth 2.0 and secure credential-based login. Session tokens use HttpOnly, Secure, SameSite=Strict cookies
- Route Protection: Server-side middleware validates authentication and role on every request to /dashboard/* and /api/* routes
- API Authentication: All API routes verify session tokens server-side. Cron job routes require a separate CRON_SECRET for Vercel scheduled tasks
- Client Isolation: Each client's data is isolated via database foreign keys — users can only access their own client records
Data Protection
- No Client-Side Database Access: All database queries run server-side through API routes — the database is never exposed to the browser
- Input Validation: All API inputs validated with Zod schema validation to prevent injection attacks
- SQL Injection Prevention: Prisma ORM with parameterized queries — no raw SQL execution
- XSS Prevention: React's automatic escaping, Content Security Policy headers, and no dangerouslySetInnerHTML usage
- CSRF Protection: NextAuth.js CSRF tokens on all authentication forms
Credential Handling
CMS API keys and server credentials follow a strict security lifecycle:
- Collection: Credentials entered via HTTPS-only forms. Input fields use
type="password"to prevent shoulder-surfing - Transmission: Sent via TLS 1.3 encrypted POST request to our API
- Encryption: Immediately encrypted with AES-256-GCM using a key derived from NEXTAUTH_SECRET via HMAC-SHA256. The original plain text is never written to any log, database, or file
- Storage: Only the encrypted (base64-encoded) value is stored in PostgreSQL
- Usage: Decrypted server-side only when needed for CMS API calls. Decrypted value is never returned to the client or logged
- Rotation: Users can update credentials at any time from Settings. Old encrypted values are overwritten immediately
- Deletion: Upon account termination, encrypted credentials are permanently deleted within 30 days
AI Provider Security
We use multiple AI providers. Here's how data is protected at each:
Groq (Primary)
- Transient processing — no long-term data storage
- Data not used for model training
- SOC 2 Type II certified
OpenRouter (GEO Gateway)
- Routes to paid API tiers of each provider
- Data not used for training on any provider
- API key authentication with rate limiting
Anthropic Claude (via OpenRouter)
- Commercial terms: "Anthropic may not train models on Customer Content"
- Data retained up to 30 days for abuse monitoring only
- SOC 2 Type II certified
OpenAI GPT (via OpenRouter)
- API data NOT used for training since March 2023
- Default 30-day retention for abuse monitoring
- Zero Data Retention available for enterprise
Google Gemini (via OpenRouter)
- Paid tier: prompts NOT used for product improvement
- Data retained 55 days for abuse monitoring
- Subject to Google Cloud security standards
Audit Trail & Change Logging
- Complete Audit Trail: Every automated content modification is logged with before/after snapshots, timestamp, and change type
- Immutable Logs: Change logs cannot be edited or deleted by users — only system administrators with database access can manage logs
- Cron Job Tracking: All automated cron jobs (daily rankings, weekly audits, GEO scans) are logged with start time, status, and client count
- Alert History: All ranking drop alerts, audit score changes, and GEO visibility shifts are permanently logged
Incident Response
- Detection: Automated monitoring for unusual access patterns, failed authentication attempts, and API anomalies
- Notification: Affected users notified within 72 hours of confirmed breach (per GDPR Article 33)
- Remediation: Immediate credential rotation, access revocation, and forensic investigation
- Reporting: Relevant supervisory authorities notified as required by applicable law
Reporting Security Issues
If you discover a security vulnerability, please report it responsibly:
Email: security@seaes.in
Response time: We acknowledge reports within 24 hours and provide a detailed response within 72 hours
Scope: All SEAES-operated domains and API endpoints
We appreciate responsible disclosure and will work with researchers to address issues promptly.