Protect data across every boundary
Duale AI's data protection model defines encryption at rest, SDK-to-platform transport protection, and the external systems a task can reach.
Data protection covers how Duale AI encrypts customer data at rest, protects data in transit between SDK and platform, and bounds external data paths a task can reach.
- AES-256-GCM encrypts Library source files, extracted content, and search data at rest.
- TLS plus RFC 9180 hybrid encryption protects task request bodies and event streams.
- Tasks can reach model providers, public Web, package registries, and customer tools.
- Telemetry is the one path the platform does not protect; set an https endpoint.
- Retention periods are owned by the Privacy notice, not this page.
Summaries were generated by AI. Generative AI is experimental.
This page states which customer data has application-level encryption, how data moves between the SDK and the platform, and which external systems a task can reach. The Privacy notice owns the retention periods.
What the platform encrypts at rest
The managed service applies application-level encryption before storage to these customer-data categories:
- Data category
- Library source files, extracted content, and search data
- Protection
- AES-256-GCM object encryption
- Data category
- Database backups and copies used for reporting
- Protection
- AES-256 encryption
- Data category
- Optional user context inside an audit event
- Protection
- Encryption with a tenant-specific application key
Each Library object has its own data key, which the service wraps with a service-managed key ring. Duale AI operates the keys. Access to the stored bytes alone is not enough to read the protected data. A customer-hosted deployment lets an eligible customer operate the infrastructure boundary under its deployment agreement.
Audit events keep their searchable event metadata, system context, before and after state, and compliance fields separate from the encrypted optional user context. When a tenant is erased, the service disables the tenant audit key for application use. The key record remains stored for lifecycle control.
Page access uses a separate cache rule: it caches only eligible GET resources from public pages. Requests with cookies or authorization credentials bypass the cache. Entries are tenant-scoped, kept for about seven days, and stored without application-level encryption at rest.
Security and data handling owns Library encryption, restore, and deletion behavior. Evidence and audit owns the meaning and limits of audit records.
How task and Library data moves
TLS protects every service path. The Python SDK adds RFC 9180 hybrid public key encryption to task request bodies, task event streams, and the agent lifecycle calls that publish your tools.
Every path below starts at your host. The SDK opens each one outbound, and Duale AI opens none back to it, so this table is also the list your egress policy has to allow.
- Path
- Python SDK task submission and events
- Protection
- TLS plus RFC 9180 encryption bound to the API token
- Path
- Agent registration and heartbeats
- Protection
- TLS plus the same RFC 9180 encryption, bound to the API token
- Path
- Library management calls
- Protection
- HTTPS authenticated with the API token
- Path
- Document bytes
- Protection
- HTTPS to a short-lived signed upload URL without the bearer token
- Path
- Telemetry export, when you enable it
- Protection
- Whatever the endpoint you configure provides, with a separate telemetry token
Library calls reach the same origin as your task endpoint; document bytes reach the storage host named in the upload response; telemetry reaches only the collector you set. The task envelope does not apply to Library calls or document transfers.
Telemetry is the one path the platform does not protect for you. DUALE_OBSERVABILITY__ENDPOINT accepts any scheme, defaults to a local address, and carries your telemetry token as a bearer header. Set an https:// collector whenever telemetry leaves the host.
A signed part-upload URL is valid for six hours, so keep it out of logs and share it only with the upload process that needs it.
The SDK contains no platform private key. It retrieves the platform public key at run time, so a platform-key change does not require an SDK release.
External data paths
A task can send data to systems outside the managed Duale AI platform:
- Path
- Selected model provider
- What can cross it
- Conversation input and the model response
- Path
- Public Web research
- What can cross it
- A research query or page URL, then search results and public-page content
- Path
- Public package registry
- What can cross it
- A package request and package bytes when a required snapshot is not already ready
- Path
- Customer tool
- What can cross it
- The registered tool name, arguments, and result
Customers choose and contract with their model providers. The agent can choose public Web destinations, packages, and registered tool calls within the task’s configured bounds. Shared responsibility assigns the controls on each side of these paths.
Web research queries can appear in service logs and trace attributes. Those records follow the retention periods in the Privacy notice. Do not put a secret in a research brief or URL.
Telemetry and customer-managed caches
Platform telemetry can retain model inputs and outputs, tool arguments and results, and system or developer instructions. Treat telemetry as a content-bearing processing location and apply the retention period in the Privacy notice. Telemetry is separate from the audit log.
The @activity SDK cache is customer-managed. It writes to a local SQLite file or a Redis server that you operate and
does not add encryption. Apply your storage and network controls to that cache. If the application has no @activity
function, the cache does not start.
Platform result caches stay within one tenant. A request from another tenant cannot address an entry. The platform does not cache streaming requests, tool-calling requests, or conversation continuations.
Return to Security for the full task lifecycle.