How We Handle Your Code

Security is not a feature — it is a foundation. Here is exactly what happens to your code when you run an audit with codesentinal.

Code in Transit

All data transmitted between your browser, our servers, and third-party services is encrypted using TLS 1.3. This includes repository content fetched from GitHub, audit results returned to your dashboard, and every API call in between. No unencrypted HTTP connections are accepted — all traffic is enforced over HTTPS with HSTS headers.

Code at Rest

Your source code is never stored permanently. It is fetched from GitHub at audit time, analyzed in memory by our AI agents, and immediately discarded once the audit completes. No code is written to disk, cached, or retained in any database. Only finding metadata — file paths, line numbers, descriptions, and relevant code snippets associated with findings — is stored in our database.

Report Storage

Generated audit reports (PDF and Markdown) are stored in AWS S3 with AES-256 server-side encryption. Reports are never publicly accessible. Access is granted exclusively through time-limited presigned URLs that expire after one hour. Reports are automatically deleted after 90 days.

Token Security

GitHub tokens stored in our database are encrypted at rest using AES-256-GCM with a dedicated encryption key that is stored separately from the database. Tokens are decrypted only in memory at the moment they are needed for GitHub API calls, and the plaintext is never logged or cached. See our encryption.ts module for implementation details.

Data Isolation

Each audit runs in a fully isolated context. There is no shared state between audits, no cross-tenant data access, and no possibility of one user's code being exposed to another. Database queries are scoped by user and audit ID at every layer. S3 report keys are namespaced per audit to prevent path traversal.

AI Model Access

Code is sent only to AWS Bedrock (Anthropic Claude models) for analysis via the Converse API. No other third-party AI services, fine-tuning pipelines, or external model providers ever receive your code. AWS Bedrock does not use customer inputs for model training. All communication with Bedrock occurs over TLS within our AWS VPC.

GDPR Compliance

We provide a full data deletion endpoint. You can permanently delete all of your data — account information, audit findings, generated reports, and GitHub token records — at any time via Settings > Danger Zone > Delete Account. Deletion is immediate and irreversible. We also support data export in JSON format for data portability requests.

SOC 2 Readiness

We practice what we audit. SOC 2 Type II controls are being implemented across our infrastructure ahead of our Series A. This includes formal access control policies, audit logging, incident response procedures, and vendor risk assessments. Our goal is to earn the same trust from our customers that we help them build in their own code.

Want to see how our infrastructure is performing right now? View system status