Security Model
Sandbox Isolation
Every agent runs in a disposable Docker container created fresh for each task:
- No network access to your infrastructure — the container can only reach GitHub (for cloning) and the AI provider API
- No persistent storage — the container and all its contents are destroyed after task completion
- Resource limits — CPU, memory, and execution time are capped to prevent abuse
- No container reuse — each task gets a clean container, preventing cross-task contamination
Code Handling
Your repository code follows a strict lifecycle:
- Clone — Code is cloned into the sandbox via GitHub App Installation Access Token
- Analyze — The agent reads and modifies files within the sandbox
- Patch — Changes are extracted as a
git diffpatch - Push — The patch is pushed as a new branch to your repo
- Destroy — The container and all code copies are deleted
Eiryx never stores your source code persistently. Code exists only in ephemeral containers.
Credential Security
API Keys (BYOK)
- Encrypted with AES-256 (Fernet symmetric encryption) before storage
- Encryption key stored as server environment variable, never in the database
- Decrypted only at the moment of API call, then discarded from memory
- Never logged, printed, or exposed in any output — sanitized to
[***HIDDEN***]
GitHub Authentication
- Eiryx uses a GitHub App (not personal access tokens)
- Installation Access Tokens are generated from a cryptographic
.pemkey - Tokens are valid for 60 minutes maximum
- The
.pemfile is mounted into the container, never stored in the database - Clone URLs use
x-access-token:<token>@github.comformat
Database Security
- Supabase PostgreSQL with Row Level Security (RLS) on every table
- RLS policies filter by
user_id— a user can only see their own data - No table is publicly accessible — all access goes through the authenticated API
- Service role key (for backend operations) is never exposed to clients
Infrastructure
- Hetzner VPS in EU (Frankfurt) — GDPR-compliant jurisdiction
- Let’s Encrypt SSL on all endpoints
- nginx reverse proxy with security headers
- CORS restricted to known origins (
eiryx.com,app.eiryx.com)