Security & Compliance
Computer Agents is built with security as a foundational principle. This document outlines our security architecture, data protection measures, and compliance practices.
Security Architecture
Our security model is built on multiple layers of protection:
┌─────────────────────────────────────────────────────────────┐
│ Edge Security │
│ • DDoS protection • WAF • Rate limiting │
├─────────────────────────────────────────────────────────────┤
│ Transport Security │
│ • TLS 1.3 • Certificate management • HSTS │
├─────────────────────────────────────────────────────────────┤
│ Authentication Layer │
│ • API key validation • User identity • Scope checking │
├─────────────────────────────────────────────────────────────┤
│ Authorization Layer │
│ • Resource ownership • Budget enforcement • Rate limits │
├─────────────────────────────────────────────────────────────┤
│ Execution Isolation │
│ • Docker containers • Resource limits • Network isolation│
├─────────────────────────────────────────────────────────────┤
│ Data Security │
│ • Encryption at rest • Access controls • Audit logging │
└─────────────────────────────────────────────────────────────┘Authentication
API Keys
All API access requires a valid API key:
# API key format
tb_prod_[64 hex characters]
# Example usage
Authorization: Bearer tb_prod_abc123...Key Security Measures:
| Measure | Description |
|---|---|
| Hashing | Keys are stored as SHA-256 hashes |
| Unique per user | Each user has their own keys |
| Revocable | Keys can be instantly revoked |
| Expiration | Optional expiration dates |
| Scopes | Permission-based access control |
Key Types
| Type | Prefix | Purpose |
|---|---|---|
| Production | tb_prod_ | Standard user access |
| Development | tb_dev_ | Testing and development |
Never commit API keys to version control. Use environment variables or secret management systems.
Encryption
In Transit
All data in transit is encrypted:
| Protocol | Details |
|---|---|
| TLS Version | 1.3 (1.2 minimum) |
| Cipher Suites | Modern, strong ciphers only |
| Certificate | Google-managed, auto-renewed |
| HSTS | Enabled with preload |
At Rest
All stored data is encrypted:
| Storage | Encryption |
|---|---|
| Database | AES-256, Google-managed keys |
| Cloud Storage | AES-256, Google-managed keys |
| Backups | AES-256, Google-managed keys |
Secrets Management
Environment secrets (API keys, credentials) receive additional protection:
- Encrypted at the application layer before database storage
- Never logged or included in error messages
- Transmitted only to execution containers via secure channels
Execution Isolation
Container Security
Each task runs in an isolated Docker container:
Container Isolation
├── Separate network namespace
├── Limited system capabilities
├── Read-only root filesystem
├── No privileged access
├── Resource limits (CPU, memory)
└── Automatic cleanup after executionResource Limits
| Resource | Limit |
|---|---|
| CPU | Capped per container |
| Memory | Maximum allocation enforced |
| Disk | Quota per environment |
| Network | Configurable per environment |
| Execution time | Timeout enforcement |
Network Isolation
- Containers run in isolated networks
- No inter-container communication
- Internet access configurable per environment
- Egress filtering available
Data Protection
Data Ownership
- User-owned: All data belongs to the authenticated user
- No cross-user access: Strict resource isolation
- Deletion: Users can delete their data at any time
Data Residency
| Data Type | Location |
|---|---|
| User data | US (primary) |
| Backups | US (multi-region) |
| Logs | US |
Data Retention
| Data Type | Retention |
|---|---|
| Thread messages | Until user deletes |
| Workspace files | Until user deletes |
| Execution logs | 30 days |
| API access logs | 90 days |
| Billing records | 7 years |
Data Deletion
Users can request deletion of:
- Individual threads and messages
- Environments and associated files
- Complete account deletion
Account deletion removes all user data within 30 days, with backups purged within 90 days.
Access Control
User Scope
All API resources are scoped to the authenticated user:
GET /v1/threads → Returns only YOUR threads
GET /v1/environments → Returns only YOUR environments
GET /v1/agents → Returns only YOUR agentsBudget Enforcement
Budget controls prevent runaway spending:
| Control | Description |
|---|---|
| Balance check | Required positive balance to execute |
| Daily limit | Optional daily spending cap |
| Monthly limit | Optional monthly spending cap |
| HTTP 402 | Returned when limits exceeded |
Rate Limiting
| Limit | Value | Scope |
|---|---|---|
| Global requests | 1,000 / 15 min | Per IP |
| Executions | 30 / 15 min | Per API key |
Audit Logging
What We Log
| Event Type | Details Captured |
|---|---|
| Authentication | Key used, IP, user agent |
| API requests | Endpoint, method, status |
| Executions | Task, duration, token usage |
| Admin actions | Key creation/revocation |
Log Security
- Logs are immutable once written
- Access restricted to authorized personnel
- Retained according to compliance requirements
- Available for security investigations
Incident Response
Detection
- Automated anomaly detection
- Real-time alerting on security events
- 24/7 monitoring
Response Process
- Detection - Automated or manual identification
- Triage - Severity assessment
- Containment - Limit impact
- Investigation - Root cause analysis
- Remediation - Fix and prevent recurrence
- Communication - User notification if required
Notification
Users will be notified within 72 hours of any breach affecting their data, including:
- Nature of the breach
- Data potentially affected
- Remediation steps taken
- Recommended user actions
Compliance
Infrastructure Compliance
Our Google Cloud infrastructure maintains:
- SOC 2 Type II - Security, availability, confidentiality
- ISO 27001 - Information security management
- ISO 27017 - Cloud security
- ISO 27018 - Cloud privacy
Data Processing
- Data processed in accordance with our Privacy Policy
- No sale of user data
- Third-party processors vetted for security
Security Best Practices
For Users
- Protect API keys - Never expose in client-side code
- Use environment variables - Store keys securely
- Rotate keys - Periodic rotation recommended
- Monitor usage - Review billing for anomalies
- Set limits - Configure daily/monthly budgets
API Key Security
// Good: Environment variable
const apiKey = process.env.COMPUTER_AGENTS_API_KEY;
// Bad: Hardcoded
const apiKey = 'tb_prod_abc123...'; // Never do this!Environment Security
// Store secrets in environment secrets, not variables
await client.environments.create({
name: 'my-project',
secrets: [
{ key: 'DATABASE_URL', value: 'postgres://...' }
],
// NOT in environmentVariables
});Reporting Security Issues
If you discover a security vulnerability:
- Do not disclose publicly
- Email security@computer-agents.com
- Include detailed description and reproduction steps
- Expect acknowledgment within 24 hours
We appreciate responsible disclosure and will credit researchers who report valid issues.
Security Updates
We continuously improve our security posture:
- Regular security assessments
- Dependency updates
- Penetration testing
- Security training for team members
Subscribe to our status page for security advisories.