Overviewالعربية
SECURITY & PRIVACY

Least privilege, project isolation, and no browser-side secrets

Security controls are enforced in the backend; the frontend is not a security boundary.

01

Identity and isolation

Every operational read or write is attached to a named member or restricted integration in one authenticated project.

  • People never share an owner token
  • Account sessions are revocable and membership is revalidated
  • Widget, Agent, and SRS service keys remain separate
  • The opt-in demo is isolated from real project state
  • Raw service keys are not stored; only hashes plus last4
02

Data protection

Test credentials and evidence require stronger handling.

  • AES-256-GCM for test credentials
  • Only an Agent token may lease a credential
  • Private S3 keys and short-lived read URLs
  • MySQL, S3, and AI secrets exist only in backend env
  • Independent token, file-signing, and credential keys
  • Never place secrets in NEXT_PUBLIC_*
03

Network protection

Outbound connectivity is a critical trust boundary.

  • Exact-host WEBHOOK_ALLOWED_HOSTS
  • Private, loopback, and link-local destinations blocked
  • Bounded timeout and no automatic redirects
  • CORS limited to FRONTEND_URL
  • Rate-limited project creation
  • TLS and security headers at Coolify/reverse proxy
04

Security gates before production

These are acceptance items, not marketing claims.

  • Field/action segregation-of-duties review for high-risk stories
  • Database-level tenant isolation tests
  • Token rotation, expiry, and revocation policy
  • Dependency and container scanning
  • Retention, deletion, backup policy
  • Auth and outbound-failure alerting