Data Protection
Encryption
All data in the Avala platform is encrypted both in transit and at rest.Data Residency
Avala’s primary infrastructure runs in AWS US West (Oregon) region. For teams with data residency requirements:- Bring Your Own Storage (BYOS): Keep data in your preferred region and cloud provider. Avala reads data directly from your bucket — no cross-region copies.
- API metadata: Project configurations, task states, and annotation results are stored in Avala’s US-based infrastructure.
If you need data residency for annotation metadata (not just source data), contact us at support@avala.ai to discuss dedicated deployment options.
Authentication
Avala supports multiple authentication methods depending on your use case.API Keys
API keys are the primary authentication method for programmatic access.
For integrations with write capability (including MCP), create narrow-scope keys and disable write/delete MCP operations unless explicitly required.
JWT Authentication
The Mission Control web application uses JWT (JSON Web Token) authentication via Auth0.Session Authentication
Django session authentication is available for the admin interface and internal tools. Not recommended for external integrations.Access Control
Organization Roles
Avala uses role-based access control (RBAC) at the organization level.Team Permissions
Within an organization, teams provide finer-grained access control for projects and datasets.
For detailed team configuration, see Team Permissions.
Principle of Least Privilege
Follow these practices when configuring access:- Use teams to scope access to relevant projects and datasets
- Assign the minimum role needed — use Member for annotators, Admin only for team managers
- Rotate API keys when team members leave or roles change
- Use separate API keys for different integrations (CI/CD, data pipeline, monitoring) so you can revoke independently
API Security
Rate Limiting
All API endpoints are rate-limited to prevent abuse and ensure fair usage.
Rate limit headers are included in every response:
Input Validation
All API inputs are validated server-side:- Request body schemas are enforced via Django REST Framework serializers
- File uploads are validated for type, size, and content
- SQL injection, XSS, and other OWASP Top 10 vulnerabilities are mitigated through Django’s built-in protections and parameterized queries
- CSRF protection is enabled for session-based authentication
Audit Logging
Key actions are logged for audit purposes:Cloud Storage Security (BYOS)
When using the Bring Your Own Storage model, security responsibilities are shared:Minimum Permissions
When connecting a cloud storage bucket, grant only the permissions Avala needs:s3:PutObject only if you need Avala to write exports back to your bucket. Never grant s3:DeleteObject or full s3:* access.
Network Security
Incident Response
If you discover a security vulnerability or suspect unauthorized access:- Report immediately to security@avala.ai
- Include the affected resources, timestamps, and any relevant logs
- Avala’s security team will acknowledge within 24 hours and provide a remediation timeline
Compliance
Security Checklist for New Teams
Use this checklist when onboarding your team to Avala:Next Steps
Authentication
Set up API keys and start making authenticated requests.
Team Permissions
Configure teams and roles for your organization.
Cloud Storage
Connect your S3 or GCS bucket with least-privilege access.
Rate Limits
Understand API rate limits and optimize your usage.