What data does CREAO collect?
What data does CREAO collect?
CREAO collects the minimum data necessary to provide the service:
- Account data — email address, name, and authentication credentials
- Event registration data — on event-specific registration pages, CREAO may collect your name, professional role, practice area, experience range, an optional question, and a referral source tag to estimate attendance and tailor the session. Event forms do not request client names, matter details, identity-document numbers, or uploaded files. Responses may be submitted directly to a Google Workspace Sheet controlled by the event organizer rather than stored in CREAO’s product databases
- Developer profile — optional display name, company, and website you provide on the developer portal (developer.creao.ai). Keyed to your account and deleted when your account is deleted
- Developer API keys — when you create Account API keys for the Developer Platform, CREAO stores the key label, HMAC token hash, public token prefix/preview, creation and revocation timestamps, and last-used-at timestamp for validation, revocation, audit, and abuse prevention. The raw API key is shown once at creation and is never stored. Account API keys can create, edit, and run personal agents owned by your account, and can manage those agents’ long-term memory, skill file space, personal workspace files, and account-level Agent Brain skills as described below. Super Agent (
/v1/super-agent/*) and product-profile (GET/PUT /v1/product-profile) routes are available only to allowlisted accounts. Key rows are deleted when your account is deleted - Developer API agent data — when you create or edit personal agents through the Developer Platform, CREAO stores the agent definition in the same encrypted agent resource store used by the main CREAO app, including agent name, description, version, skill instructions, app configuration, dashboard template, write-autonomy setting, release note, and timestamps. These agent rows are deleted when your account is deleted
- Developer API agent memory — when you read, overwrite, or clear a personal agent’s long-term memory through the Developer Platform (
/v1/agents/{agent_id}/memory), CREAO retrieves or updates reflection playbooks for that agent via CREAO’s reflection service. Overwrite and clear operations send playbook content and status to that service; read responses return playbook identifiers, names, content, triggers, rationales, statuses, and timestamps. CREAO does not store a separate Developer API copy of these playbooks beyond ordinary request logging described below; source playbooks remain in the reflection service and are purged when the underlying agent is deleted - Developer API agent files — when you list, download, or delete files in a personal agent’s skill file space through the Developer Platform (
/v1/agents/{agent_id}/files), CREAO uses the same encrypted file registry and object storage used by the main CREAO app for that agent’s skill folder (including auto-staged skill files such asSKILL.md). List and download responses include file identifiers, names, MIME types, sizes, content hashes, timestamps, and short-lived presigned download URLs. Delete removes the registry row and the stored object. These files are deleted when your account is deleted, or when you delete them via the API or the product UI - Developer API workspace files — when you upload, list, download, or delete files in a personal workspace through the Developer Platform (
/v1/workspaces/{workspace_id}/files), CREAO uses the same encrypted file registry and object storage as the main CREAO app’s workspace Files panel (workspace-root uploads only; not thread artifacts or organization shared files). Upload stores the file bytes, a display name, MIME type, size, and content hash. List and download responses include file identifiers, names, MIME types, sizes, content hashes, timestamps, and short-lived presigned download URLs. Delete removes the registry row and the stored object. These files are deleted when your account is deleted, or when you delete them via the API or the product UI. Passing the sameworkspace_idon an async or realtime run binds that conversation to the workspace so the agent can read those uploads; file contents may then be sent to the selected LLM provider through the same channel as files uploaded in the web Files panel - Developer API run data — when you start async or realtime agent runs through the Developer Platform, CREAO stores the request identifier, agent/conversation/thread/session identifiers, optional bound workspace identifier, run mode, status, timing, input JSON payload, result JSON payload, error metadata when a run fails, credits used, and a per-model usage breakdown (model identifier plus numeric counters such as tokens, generated-image count, or duration). Realtime responses use a public NDJSON render protocol sent to the Account API key holder: assistant text, thinking deltas, search queries and result cards, todo lists, opaque tool start/end (without tool input or output), and artifact announcements. The persisted result JSON may include a compact
blockssnapshot; thinking text is not stored in that snapshot. A completed-run GET with an Account API key (cr_sk_) may hydrate thinkingcontentonto those markers from the owned assistant message. List and webhook payloads stay marker-only. Unlike the input and result payloads, that usage breakdown is also copied into CREAO’s internal analytics warehouse. A first run of a named agent (noconversation_id) assembles the same run prompt used by the main CREAO app’s agent-detail Run action: the stored agent name, skill instructions, and app configuration are combined with your input as the user request before the model is called. Follow-up turns on an existing conversation send your new input without re-assembling that full prompt. Super Agent runs (POST /v1/super-agent/runs,POST /v1/super-agent/realtime/runs) usechat_asyncorchat_realtimewith noagent_idand do not assemble a named-agent prompt; they are stored with the same run-row shape and are listed only through/v1/super-agent/runs. When CREAO’s reflection analytics/retrieval is enabled, named-agent async and realtime runs use the same reflection path as chat: your current query text may be used by CREAO’s reflection search to retrieve relevant profiles/playbooks, and user turns and selected assistant final-turn summaries (with compact tool metadata) may be processed by CREAO’s reflection service for quality monitoring. If you configure a webhook URL, CREAO also stores that URL and delivery timestamp and may POST the run output to the developer-configured endpoint. Run rows are deleted when your account is deleted - Developer API request logs — when an authenticated Account API key request reaches a
/v1/*Developer API route after authentication and account rate-limit checks, CREAO stores one request-log row with your account identifier, Account API key row identifier, HTTP method, route pattern and path, handler name, status or error code, created or fetched run identifiers where applicable, agent and conversation identifiers where applicable, timing, request and response byte counts, and credited usage when the call creates a billable run. CREAO does not store request payloads, response payloads, headers, raw API keys, or tokens in this request log. Rows are deleted when your account is deleted - Developer API product profile — when an allowlisted account reads or replaces the once-per-account product profile through
GET/PUT /v1/product-profile, CREAO stores optional persona (up to 4,000 characters) and brand context (up to 8,000 characters). Non-empty fields are sent to the selected LLM provider on each Super Agent turn as written, so the Super Agent can follow that voice. An empty or missing profile uses the default CREAO Super Agent voice. The row is hard-deleted when your account is deleted. Internal analytics warehouse views exclude persona and brand-context text - Developer API Super Agent runs — when an allowlisted account starts a Super Agent run through
/v1/super-agent/runsor/v1/super-agent/realtime/runs, CREAO uses the same Super Agent chat runtime asagent.creao.ai/chat(connectors and most skills). These runs do not load CREAO long-term memory, and they cannot create or modify personal agents. CREAO stores the same run and request-log fields as other Developer API runs (agent_idis empty; Super Agent conversations cannot be mixed with Agent Runs). Input and output may be sent to the same LLM providers as chat. Realtime Super Agent streams use the same public NDJSON render protocol as Agent Runs, including thinking, search, and todo cards that leave the host toward the API key holder. A Super Agent GET may also return thinkingcontenton those markers after the run completes. Super Agent run rows are deleted when your account is deleted - Developer API Super Agent allowlist — CREAO may store an allowlist row with your account identifier, the account email, and the administrator who added the account, so Super Agent and product-profile routes can be gated. The row is hard-deleted when your account is deleted or when an administrator removes the account from the allowlist
- Conversation data — messages, files, and artifacts you create during chat sessions. On iOS and Android, URLs, text, and files shared into CREAO from other apps through the system Share sheet are treated as chat attachments and retained under the same conversation data policy. When CREAO’s reflection analytics/retrieval is enabled, user turns and selected assistant final-turn summaries (with compact tool metadata) may be processed by CREAO’s reflection service for quality monitoring, and your current query text may be used by CREAO’s reflection search to retrieve relevant profiles/playbooks
- Usage data — credit consumption, feature usage, acquisition attribution (UTM parameters, click IDs such as Google click ID (
gclid), Meta click ID (fbclid), and Impact affiliate click ID (IM_REF), referring site, landing path, owner-derived affiliate or referral attribution from public shared-thread and agent-install pages, and KOL-defined affiliate sub-tracking parameters such asmediaorsub_id), session metadata for billing, analytics, and product improvement. When Google Analytics or Google Ads conversion measurement is enabled, CREAO also sends your CREAO user identifier (after sign-in), first-touch campaign/referrer parameters, Google click ID (gclid), the browser GA4 client identifier derived from the_gacookie and, on agent run requests where a live session is active, the session identifier derived from the_ga_<container>cookie, conversion events, and the signed-in email address for sign-up and purchase enhanced-conversion matching; the Google tag hashes email data before Google receives it for matching. When Meta Pixel or Meta Conversions API measurement is enabled, CREAO may send hashed email, hashed CREAO user identifier, IP address, user agent, Meta browser/click identifiers (_fbp,_fbc), and sign-up or purchase conversion events to Meta for attribution matching; no conversation content is sent for these analytics events - Billing coupon data — when a one-time subscription coupon is created or redeemed, CREAO stores the coupon code, campaign type, discount terms, optional internal distributor note, Stripe coupon/promotion identifiers, and admin/redeemer attribution needed to prevent reuse, reconcile checkout, support customers, and audit discount issuance. Redeemer email is visible only to CREAO admins and is removed if the redeemer’s account is deleted
- Affiliate and referral billing data — when you join or use an affiliate referral campaign, CREAO may store referral handle attribution, KOL account identifiers, configurable commission rates, invitee reward credit grants, and related credit ledger metadata so rewards, revenue share, and payouts can be calculated and audited. For Impact.com affiliate campaigns, CREAO may send eligible sign-up, subscription, and credit-purchase conversion records to Impact.com for partner attribution and reconciliation; these records may include SHA1-hashed email, CREAO user ID, Impact click ID, order ID, conversion timestamp, event type, subscription or purchase amount, and promo code
- Memory data — facts and preferences the super agent saves on your behalf (you can view, search, and delete these at any time). When you work in an organization context, memories are stored in a shared team pool visible to all members of that organization rather than in your personal memory
- Login geolocation — a location estimate derived from your IP address is recorded with each login event. A country code (ISO 3166 alpha-2, from Cloudflare) is used for analytics, abuse detection, and billing routing. CREAO may also derive and store a coarse city/region estimate — from Cloudflare’s edge geolocation of your IP on live logins, or an offline geolocation database applied to the stored IP for historical (backfilled) estimates — used for regional product analytics and to segment location-relevant CREAO communications (see Location-based communications below). When derived, this estimate is approximate — it reflects your network’s location, not a precise position, and can be wrong (for example with VPNs or mobile carriers). No GPS or precise-location data is collected, and only the coarse city/region estimate — never the raw IP — is shared with our marketing-automation subprocessor (customer.io) for this purpose, and only for users outside the EU/EEA/UK (see Location-based communications below)
- Location-based communications — CREAO may use the coarse city/region estimate described above to segment marketing and lifecycle emails by area (for example, an event or announcement relevant to your metro). This applies to users outside the EU/EEA/UK: because CREAO does not yet operate a per-user consent mechanism for this purpose, users in the EU/EEA/UK are excluded from location-based marketing segmentation entirely, and their location estimate is not shared with our marketing-automation subprocessor for it. You can opt out of marketing emails at any time via the unsubscribe link or your notification settings
- Dream profiles — AI-generated summaries of your preferences, working style, and recent activity, derived from your conversation history. These are created automatically (daily) or on demand, and can be viewed from the Memory → Dream tab
- Reflection playbooks — Reflection-generated workflow rules inferred from your CREAO interactions. When enabled, you can view your own playbooks from the Memory page. CREAO retrieves source playbooks from CREAO’s reflection service on demand; when retrieved playbook snippets are used as context during a conversation, those snippets are stored as part of the message content blocks in conversation history and retained until the thread is deleted
- Linked social profiles — when you connect an X (Twitter) or Discord account from the Rewards hub or Account Settings, CREAO stores the provider account ID, username, display name, and avatar URL so the UI can show which accounts you have linked. For Discord we also retain the OAuth access token so reward verification (CREAO server membership) can run without prompting you to re-authenticate. For X, the OAuth token is used only at link time to confirm account ownership — CREAO does not call back to X to read your follows, posts, or social graph. To prevent reward-farming via re-binding, an X or Discord identity that has been linked to a CREAO account is bound permanently to that account — it cannot be disconnected from the UI. As a security measure, linked profile data and stored OAuth tokens are also removed automatically whenever your authentication state is revoked (password reset, admin force-logout, account ban) — this prevents an attacker who briefly held a session cookie from leaving an attached account behind after the rightful owner regains control. They are otherwise removed only when you delete your CREAO account, at which point all linked profile data and stored OAuth tokens are deleted with it. You can still revoke CREAO’s access at any time from your provider’s settings (X → Connected apps, Discord → Authorized apps), which invalidates the stored token immediately
- Campaign participation data — if you join a CREAO campaign or challenge, CREAO may store campaign-specific enrollment state, eligibility checks, public leaderboard identity, and setup metadata. For the Agent Trading Campaign, this includes Season 1 submitted WEEX email/UID, Season 2 submitted debot email and Robinhood Chain wallet address, the linked X profile used as your public leaderboard identity (
x_username,x_provider_account_id, display name, and avatar), Discord link and CREAO Discord server membership requirements where applicable, your selected CREAO agent app ID, your user-chosen public leaderboard agent name/slug, Agent API Trigger setup metadata, readiness/freeze audit hashes, and disqualification/finalization status. For the optional Season 2 Kite Agentic Wallet side event, CREAO may also store your cloned Kite agent app ID, which Passport skill paths were installed on your CREAO account (authenticate-user,kite-passport,wallet-send), the Base-chain wallet address you confirm, wallet/deposit/transaction verification timestamps, a verified Base deposit balance (USDC), a submitted Base transaction hash, side-event completion status used for the leaderboard Kite badge and score bonus, and reward-credit grant status/timestamps for enrollment-lock and Kite-completion bonuses. Total CREAO credits consumed may be used to determine prize eligibility; public campaign pages may show eligibility status or prize-claim rank, while exact credit totals are visible only to you and CREAO admins - Campaign financial performance data — for trading challenges, CREAO may use the WEEX API credentials you configure in CREAO Secrets to request demo-account balance and order data from WEEX during a WEEX-backed campaign. For Robinhood/debot-backed campaigns, CREAO may check your submitted Robinhood Chain wallet balance at enrollment, receive Debot monitor callbacks on a CREAO community Agent webhook wrapper (which forces phase-based dry-run when appropriate, then forwards to your Platform Agent app), and import wallet equity, PnL, trade count, trade history, and funding history from debot or the Robinhood chain for ranking and audit. CREAO stores leaderboard snapshots such as USDT or ETH equity, PnL, and trade count for ranking, audit, and results pages, and may persist size-bounded Debot callback payloads (plus a payload hash, event id, dry-run flag, phase, HTTP status, and dispatch outcome) in
s2_trading_challenge_api_invokesfor My Entry history, idempotent retries, and admin dry-run testing. For the Season 2 Kite Agentic Wallet side event, CREAO may query a Base-chain RPC endpoint with your confirmed Base wallet address and submitted transaction hash to verify deposit balance and that the transaction succeeded and originated from that wallet; CREAO stores the resulting verification metadata (not a private key) ins2_trading_challenge_kite_side_events. CREAO does not store your raw WEEX API key, secret, passphrase, or debot developer API credentials (DEBOT_API_KEY/DEBOT_API_SECRET) in the campaign database, and never collects a wallet private key for debot-backed campaigns or for the Kite side event. During the audit phase, authorized campaign admins may export campaign credentials from the secrets store to verify trading history; these exports are logged as administrative actions - Scheduled-run result delivery — when you enable “Email me a summary” on a scheduled agent app, CREAO sends a summary email after each run. We store the email delivery record in
schedule_email_deliveries(schedule ID, run status, delivery outcome, and timestamp). These records are deleted automatically after 30 days by a nightly cron. The delivery setting is off by default and can be changed at any time from the schedule settings - In-app notifications — when an agent run you started reaches a notifiable state (chat and workflow completions, awaiting your input, run failures, a workflow approval pending, running out of credits, an action awaiting approval, or an organization invite), CREAO stores an in-app notification inbox row in
notifications. Each row holds the notification reason, the related thread / agent-app / session identifiers, a stable i18n key plus structured parameters used to render the localized message, and its read state. By default, no conversation content, message text, or generated output is stored — only stable keys and identifiers. The Account Settings “Show names in notifications” toggle is off by default; if you opt in, the related chat thread’s title (which for an ordinary chat thread defaults to the start of your first message, truncated to 100 characters), agent app name, and/or organization name are also stored in that row and rendered into the notification copy, including the push body sent to Apple (see the Apple/APNs row below). Account-level and per-schedule controls let you decide whether completion notifications are eligible for delivery. Notification rows are deleted when your account is deleted - Push device registration — if you enable push notifications on the CREAO mobile app, CREAO stores one row per device in
push_devicesso it can deliver notifications to that device. Each row holds the device push token (an opaque delivery credential issued by the platform’s push service, treated as a secret — never displayed back to you and never written to logs in raw form), the device platform, the delivery environment, the app version and device locale captured at registration (used to localize push copy), and lifecycle timestamps (first registered, last seen, and a disabled marker). No message content is stored. You can remove a device at any time by disabling push notifications or signing out; device rows are hard-deleted when your account is deleted - iOS in-app consent acknowledgements — on the iOS and iPadOS App Store app only, CREAO stores device-local flags in browser local storage when you accept the Privacy and Personal Information Protection Agreement (before sign-in) and when you acknowledge the third-party AI processing disclosure (after sign-in, keyed to your account on that device). These flags record only that you agreed — not message content — and are not synced to CREAO servers. They are cleared when you uninstall the app or clear the app’s site data
- Team-collaboration attribution — when you and other members work in the same organization, CREAO stores the user identifier of the team member who sent each message, uploaded each file, or performed each tracked action so collaborators can see each other’s display name and email next to those entries (in chat, shared files, and the organization activity log) and know who did what. This attribution is visible only to other members of the same organization — never to users outside the org or to anonymous visitors of a shared link. Any member of the organization can PUBLISH an agent they created to the whole organization, making its configuration visible and runnable by every other member — publishing is treated as ordinary collaboration and is not restricted to owners or admins. (Connecting a new data source is restricted: that stays with organization owners and admins.) For a shared agent app, sharing covers only the agent’s configuration: each member’s own runs, generated outputs, and pending action approvals are private to that member and are not visible to other members (including the agent’s creator). Any member of the organization can schedule a shared agent app to run on a recurring basis; a schedule a member creates is owned by and billed to that member, and its runs and outputs are private to them under the same per-member rule. Editing, pausing, or deleting a schedule is limited to the member who created that schedule — not the agent’s creator or the organization owner. All members can view the agent’s schedules read-only, including each schedule’s configuration and the name and email of the member who created it. Per-agent access delegation — an agent’s owner (its creator) or an organization owner/admin can grant another member of the same organization a role on a specific agent: manager (edit and delete the agent’s configuration) or viewer (run it). CREAO stores one row per grant recording the agent, the member granted, the role, and who granted it, so the access list can be reviewed and audited. A grant can only be given to a current member of that organization, and it stops conferring access the moment that person leaves the organization — their grants are also purged during removal. Organization owners and admins hold full permission over every agent in their organization regardless of who created it. Converting a shared agent back to personal withdraws all delegated access
- Organization invite emails — when an organization admin invites a new member, CREAO stores the invitee’s email address in
org_invitesto deliver the invitation and track its status (pending, accepted, or revoked). The invitee may or may not have an existing CREAO account. When the invite reserves a specific paid seat for an email that has no CREAO account yet, the record also links that reserved seat (seat_id); if the invitee then signs up with that email, the invite is accepted automatically and they join the organization and occupy the reserved seat as an organization-only account (no personal workspace). Invite records are deleted when the invitation is revoked by an admin, when the organization is deleted (FK cascade), or when the invite expires. Accepted invites retain the email for audit purposes until the organization is deleted - Action approvals — when an agent or chat session proposes a guarded write through a connector (email, social media, messaging, etc.), CREAO stores the proposed action payload (for example tweet text, email subject, or message content), validation results, approval status, approver/rejector audit metadata, and apply result so you can review, approve, reject, retry, and audit external actions. This applies to both Agent App sessions and regular chat threads
- Workflow orchestration data — when a dynamic workflow is staged (via the
/workflowcommand, or when the agent proposes one in ordinary chat) and you approve it, CREAO stores approved workflow definitions (name, description, and JSON task spec), workflow run and task execution records (status, task prompts, summaries, parent-thread artifact copies, and per-task cost), and append-only progress events so the host can schedule, pause, resume, cancel, retry, and audit the workflow - Slide deck generation data — when you use the
/slidecommand, the agent authors the deck itself as a set of HTML files (slide markup, theme stylesheets, and any images it generates or you provide). CREAO validates and sanitizes that bundle server-side and then stores it: each accepted version is written to encrypted object storage as a content-addressed archive, and a database record keeps the deck’s title, its version number, and a reference to that archive. Asking the agent to change a deck creates a new version rather than replacing the old one, and earlier versions and their archives are retained. The rendered PDF, PPTX, per-slide images, and HTML preview are saved to your thread’s encrypted file storage and retained under the same policy as other generated files and conversation data. Deleting a thread does not remove that thread’s stored deck versions or their archives; deleting your account removes them, along with the rendered outputs, within 30 days — see Data Retention - Agent Store engagement — when you interact with agents in the public Agent Store, CREAO stores your likes, bookmarks, shares, written reviews (with star rating), and view impressions. View impressions include your account ID when you are signed in and a SHA-256 hash of your IP address (truncated to 16 hex chars) for deduplication only — no raw IP, user agent, or precise geolocation is stored.
- Discover Skills install activity — when you install a community-recommended skill from Discover Skills, CREAO records the Discover Skills entry and your user ID so we can keep install counts accurate and avoid double-counting repeat installs
- Account-level Agent Brain skills — when you install or author a custom skill on
agent.creao.ai/skillsor through the Developer Platform (/v1/skills), CREAO stores the skill name, description, SKILL.md content, optional supporting files, source URL, tags, and timestamps incustom_skills. Which skills are enabled for your account is stored inusers.builder_options.enabledSkillIds. Disabling a skill removes it from that enabled list and unmounts its files from the sandbox; it does not delete the skill. Custom-skill rows and the enablement list are deleted when your account is deleted - LLM transaction forensics — when the super agent calls a large language model on your behalf, CREAO stores per-request invocation metadata for billing accuracy and abuse prevention: source IP address (from
cf-connecting-ip), user agent, country code, Cloudflare edge-location code (cf.colo), provider name and request path, token counts, cache status, JWT issued-at and age, upstream response identifier, run-history thread identifier (internal UUID), and the per-request cost in USD. This data is written tocredit_deduction_logs(one row per LLM call) and is retained alongside other billing records. It is used to spot stolen sandbox credentials, replay attacks, and runaway agent loops, and to reconcile our spend against upstream provider invoices - Connected-database configuration — for enterprise organizations that connect their own database (Bring Your Own Data), CREAO stores the encrypted connection credentials and the database/schema names the workspace admin chose to expose. Credentials are encrypted under a dedicated key separate from the one used for user-uploaded secrets so the two rotation lifecycles stay independent. Connection records are hard-deleted immediately when an admin disconnects the source and cascade on organization deletion
- Connected-cloud configuration — when you connect your own AWS account (Bring Your Own Cloud) so the agent can read observability data or provision infrastructure on your behalf, CREAO stores non-secret references to the connection: the cloud provider, a display name, the AWS account ID, the cross-account IAM role ARN you paste back after deploying our CloudFormation stack, the region the tools run against, and the grant tier (
readonlyfor debugging ordeployfor provisioning). The only secret in this record is a per-connection ExternalId, which CREAO generates and stores encrypted (AES-256-GCM, under a dedicated key separate from other secrets). No long-lived cloud credentials — no access keys, secrets, or static tokens — are ever stored. Access uses short-lived AWS STS credentials minted on demand via AssumeRole with the ExternalId; those credentials are held only in-process on the host that reads your account and never enter the agent sandbox - Account deletion requests — when you ask to delete your CREAO account, CREAO records the request and how it was handled: its status and timestamps, the IP address it was made from, an email and name snapshot captured at the time of the request, any reason code(s) you optionally select and free-text detail you optionally type when asked why you’re leaving, and any notes an administrator adds while actioning it. This record is stored separately from your account so it can serve as evidence that the request was received and carried out. See Data Retention for how long it is kept
- Rate-limit abuse events — when a request is rejected for exceeding a rate limit (HTTP 429), CREAO records a sampled event used to detect scans and brute-force abuse: the time, the endpoint path and HTTP method, the source IP address, an allowlist of non-sensitive request headers (user agent, referer, origin, forwarded-for, accept-language), the limiter bucket, and a size-capped, secret-redacted excerpt of the request body. Body capture is skipped entirely for authentication, billing, credit, secret, token, payment, and login routes, and recording is sampled to at most one event per actor per endpoint per minute. This is written to
rate_limit_violations. See Data Retention for how long it is kept - Job applications (CREAO Careers) — when you apply for a role on
careers.creao.ai, CREAO collects what the application form asks for: your name, email address, any links you supply (portfolio, GitHub, LinkedIn), your answers to the role’s free-text questions, and — if you attach one — your CV/resume file. The file itself is stored in CREAO’s private S3 upload bucket under acareers/applications/key derived from a random application identifier; CREAO also records its original filename, MIME type, size, and a content hash (used to recognise the same CV submitted to more than one role). If you were signed in to a CREAO account when you applied, the application is linked to that account ID so you can see your own submissions under My Applications; applying does not require an account. Applications are readable only by CREAO recruiting staff on an allowlisted internal admin surface, and CVs are never exposed on a public URL. Staff may also record an application’s hiring status and interview round, and may link two applications that share a candidate’s email addresses so duplicate submissions are recognised as one person - Job-alert subscriptions (CREAO Careers) — if you ask to be notified about new roles, CREAO stores the email address you give, the scope you chose (this role, this category, or all new roles), and the job or category the request came from, so it can email you when a matching role is published. This is a standalone subscription record — it does not require or create a CREAO account. Ask us at support@creao.ai to remove it
- Paired devices (CREAO Connect) — when you pair your own computer or server with CREAO so the agent can invoke local capabilities on it, CREAO stores a device row: a user-chosen device name, platform, a hashed/preview form of the device’s access token, the merged list of capabilities (and MCP tool schemas) the device advertises, status (active/revoked), pause (“do not disturb”) state, and presence timestamps (last seen, last graceful disconnect). Each successful connect also records the source IP address and a derived geolocation string, used for new-location/takeover detection on the pairing UI. When a device capability result is too large to return inline, CREAO temporarily stores the result in an encrypted, per-device-scoped S3 object (
device_attachmentsbinding row) addressed by a short-lived signed URL. That URL is resolved by the agent’s own sandbox process, which downloads the bytes to a temporary path inside that sandbox and shows the model only the local file path — the signed URL is never placed in the model’s context, including in error messages. Device rows and attachment bindings are deleted when your account is deleted, or immediately when you revoke the device; the stored object itself also expires automatically (see Data Retention)
GDPR compliance
GDPR compliance
CREAO is designed with GDPR principles in mind: - Lawful basis — we
process data based on contractual necessity (to provide the service),
legitimate interest (to improve the product and measure advertising
performance where permitted), and consent where required for advertising
cookies, Google Ads enhanced conversions, Meta Pixel / Conversions API, and similar marketing measurement -
Data minimization — we collect only what is needed to deliver the service -
Right to access — you can export your data at any time - Right to
deletion — you can delete your account and all associated data; a limited
audit record of the deletion request itself (request metadata, an email
snapshot, and any administrator handling notes) may be retained where required
for legal, compliance, and security purposes, as described in Data Retention -
Right to
portability — conversation and file data can be exported in standard formats
- Data processing — see the Subprocessors section below for a list of third
parties that process data on our behalf - International transfers — user
data is stored in the United States. For EU users, data transfers are governed
by Standard Contractual Clauses (SCCs) in accordance with GDPR Chapter V. Some
AI providers process generation requests outside the US (for example, BytePlus
seedance / seedream uses Singapore-region endpoints; Claude inference, Gemini
conversation, image-generation and text-to-speech requests, and Veo video
generation via Google Vertex AI may be processed in any Google Cloud
region worldwide when using Vertex’s
globalendpoint; and Fugu Ultra via Sakana AI may be processed by Sakana AI and the external LLM providers it orchestrates). Apple processes Sign in with Apple authentication on Apple’s own servers in the United States. Transfers to these processors are likewise governed by SCCs or equivalent transfer mechanisms where applicable. Apple publishes a Data Processing Addendum covering its developer APIs. Sakana’s public Fugu terms state that the service is provided outside the EEA, UK, and Switzerland, so EEA, UK, and Swiss use of Fugu Ultra requires confirmed DPA and transfer terms before the model is enabled for those regions - Data Processing Agreement — enterprise customers can request a DPA by contacting privacy@creao.ai
CCPA compliance
CCPA compliance
For California residents, CREAO provides: - Right to know — what personal
information we collect and how it is used - Right to delete — request
deletion of your personal information - Right to opt-out — we do not sell
personal information, and you may opt out of sharing for cross-context
behavioral advertising. CREAO honors browser Global Privacy Control signals by
disabling Google advertising user-data and personalization consent and by not
sending email match data for Google Ads enhanced conversions - Non-
discrimination — exercising your rights does not affect pricing or service
quality
In-app privacy notices (iOS App Store)
In-app privacy notices (iOS App Store)
The CREAO iOS and iPadOS app distributed via the Apple App Store shows
additional in-product privacy notices that do not appear on web, Android, or
the standalone desktop app:
- Before sign-in — you must review and accept CREAO’s Privacy and Personal Information Protection Agreement (a snapshot of the policy at https://creao.ai/terms/privacy, effective July 09, 2026) before creating an account or signing in. Acceptance is stored on the device in browser local storage and is not tied to a specific account.
- After sign-in, before AI features — you are shown a short disclosure that messages, files, and other content you provide may be sent to third-party AI providers (such as Anthropic and OpenAI) for processing, with a link to review Section 5.9 (AI Service Provider Data Sharing) of the in-app policy. You must acknowledge this disclosure before using AI features; acknowledgement is stored per account on the device in browser local storage.
- Account Settings → Privacy — you can reopen the full in-app policy at any time, including the AI Service Provider Data Sharing section.
AI & Model Usage
On the iOS and iPadOS App Store app, CREAO shows an explicit third-party AI processing disclosure after sign-in and blocks AI features until you acknowledge it. The disclosure states that messages, files, and other content you provide may be sent to third-party AI providers (such as Anthropic and OpenAI) for processing, and links to Section 5.9 (AI Service Provider Data Sharing) of the in-app Privacy and Personal Information Protection Agreement. This gate does not change which providers receive data or how it is used — it ensures you see that disclosure before your first AI request on iOS. Web, Android, and standalone desktop users accept equivalent terms through other product surfaces and do not see this additional gate.Most CREAO model-provider API paths do not use your data to train AI
models. Conversations and files sent to Anthropic, OpenAI, Google, MiniMax,
Z.AI, Moonshot AI, Thinking Machines, Fireworks AI, Meta, and BytePlus are
processed under API
agreements or
provider API terms that prohibit use of your data for model training. MiniMax
M3 conversation requests are served by Fireworks AI directly under
CREAO’s own Fireworks account; Fireworks’ API terms prohibit use of your
data for model training. If Fireworks returns a capacity error (a rate limit
or transient server error), the request is automatically retried once via
OpenRouter and served by DeepInfra, Novita, or Together AI —
that fallback path is governed by CREAO’s API agreement with OpenRouter,
whose API terms prohibit training use. MiniMax’s own API is used for CREAO’s
internal response-quality evaluation under MiniMax’s API terms, which
likewise prohibit use of your data for model training. Moonshot AI models are
reached via OpenRouter — CREAO’s API agreement for that provider is with
OpenRouter, whose API terms prohibit training use. The two GLM models take
different paths: GLM 5.2 is reached via OpenRouter and served by
Fireworks AI under CREAO’s own Fireworks account, while GLM 5.3 and
GLM 5.3 Flash are sent directly to Z.AI under CREAO’s own Z.AI API
agreement, whose terms prohibit training use — so conversation content for the
GLM 5.3 models reaches Z.AI and no other company, not even a relay. CREAO can
move either onto the OpenRouter path as a fallback (for example during a Z.AI
outage), in which case OpenRouter relays the request and Z.AI still performs the
inference, as it is the only host OpenRouter offers for those models. Of the GLM
models, only GLM 5.3 Flash accepts images: an image attached to a GLM 5.3
Flash conversation is sent to Z.AI as part of the request. GLM 5.2 and GLM 5.3
are text-only, so an image attached to those is described by CREAO’s own
analyze_image step instead and never reaches Z.AI as image bytes. Thinking Machines’ Inkling is reached via OpenRouter,
whose API terms prohibit training use.
DeepSeek V4 Flash is an open-weights model that CREAO self-hosts:
conversation requests are served by CREAO’s own inference servers (running on
GPU infrastructure rented from Nebius), so conversation content for this
model is processed on CREAO-managed systems and is not sent to DeepSeek or to
any third-party model provider. No model training occurs on this path — CREAO
does not train models on your data, and no external provider receives it.
During maintenance or failover CREAO may temporarily route DeepSeek V4 Flash
requests via OpenRouter (served by third-party inference hosts, preferring
Fireworks AI under CREAO’s own Fireworks account; DeepSeek’s own API
endpoint is excluded from that routing), under OpenRouter and Fireworks
API terms that prohibit training use. This includes automatic per-request
retries: if CREAO’s self-hosted servers return a capacity or availability
error for an individual request (for example while the node restarts), that
request is automatically retried on the same DeepSeek V4 Flash model
via this OpenRouter path — up to two sequential attempts. The first retry
prefers Fireworks AI; if that attempt itself hits a capacity error, one
final retry may be served by any of the other OpenRouter inference hosts
for this model (DeepSeek’s own API endpoint remains excluded), under the
same OpenRouter no-training API terms. Separately from that failover path,
if CREAO’s client detects that a self-hosted response stream was corrupted
in transit (for example a malformed or dropped tool invocation in the
model’s output), it may automatically regenerate that response on the
same self-hosted model and CREAO-managed infrastructure — this quality
retry involves no additional destination and no third party; the request is
simply re-processed on the same path it was already on. DeepSeek itself
never receives conversation content on any of these DeepSeek V4 Flash paths.DeepSeek V4 Pro is a different arrangement, and the difference matters.
Unlike V4 Flash, CREAO does not self-host DeepSeek V4 Pro. Conversation
requests for this model are relayed via OpenRouter and served either by
DeepSeek’s own API (the preferred host) or, as a fallback, by GMICloud —
so conversation content for DeepSeek V4 Pro is sent to DeepSeek, and may be
sent to GMICloud. Both paths are governed by CREAO’s API agreement with
OpenRouter together with the serving provider’s own API terms, which prohibit
use of your data for model training. If you want a DeepSeek-family model whose
conversation content stays on CREAO-managed systems, choose DeepSeek V4 Flash
instead.Requests relayed through
OpenRouter may also be served by Fireworks AI under CREAO’s own Fireworks
account (currently GLM 5.2, and potentially other OpenRouter-routed open
models such as Kimi K3); Fireworks’ API terms prohibit use of your data for
model training, and Fireworks states it does not log or store prompt or
generation data for open models by default.Muse Spark is reached
directly via the Meta Model API under Meta’s developer API terms, which
prohibit use of your content to train Meta’s models; Meta may use aggregated,
anonymized service-usage data (not your content) to improve its services.
This includes image inputs
sent for generation tasks (for example, image-to-video with Veo). Providers
may retain data briefly for abuse monitoring and safety as required by their
terms, but not for training purposes on these paths.Fugu Ultra via Sakana AI is a qualified exception while governed by
Sakana’s public Fugu terms. Those terms may allow submitted content to be
used for Sakana training and improvement unless an opt-out or separate
no-training/DPA arrangement is in place. Do not select Fugu Ultra for
regulated, sensitive, confidential, or personal data unless your workspace has
confirmed the required Sakana terms.
How is data sent to AI models?
How is data sent to AI models?
When you chat with the super agent, your messages and relevant context (files, memory, Dream profile, skill instructions, and — for organizations that have connected their own database — the names of the connected databases and schemas, plus any standing instructions your organization configured for those databases) are sent to the selected LLM provider via their API. All API calls use encrypted connections. Responses are streamed back to your browser in real time.Scheduled agent runs use the model selected for that schedule and send the run’s prompt, inputs, and relevant agent context through the same provider channel and under the same provider terms, including the Fugu Ultra exception above.After an agent run completes, CREAO may send a size-bounded excerpt of the run’s request or output to a configured supported LLM to generate the title and summary shown on its run card. This metadata request uses the same encrypted provider channels and provider terms described above.When you approve a dynamic workflow, individual workflow task prompts and scoped task context may be sent to LLM providers as isolated worker or synthesis requests. CREAO stores task summaries and copies generated artifacts into the parent thread’s file store, but worker intermediate transcripts are not inserted back into the parent conversation context.When you use the Developer Platform to create or edit a personal agent from natural-language instructions, that free-text input is sent through the same agent/LLM workflow used by the main CREAO app so the agent definition can be designed and persisted. No additional AI provider or data category is introduced for this path.Connected-database metadata is limited to the source name, type, and the database/schema NAMES that the workspace owner chose to expose. Database row contents are not sent to the LLM unless the agent is explicitly asked to query the data; in that case, the query result rows flow through the same provider channel as the rest of your conversation.When a warehouse-backed answer is produced, CREAO also records a query receipt for that turn: the SQL text the agent ran (truncated), the data source it targeted, how long the query took, the row count, and — on failure — an error code. Receipts are shown to you alongside the answer so the SQL behind a number is inspectable. They are stored with the conversation and are NOT inserted into the model’s context, so they add no new data flow to any LLM provider. Note that the SQL text itself can embed values you asked the agent to filter on.Separately, CREAO staff can review agent-written SQL that FAILED, to find and fix cases where the agent writes queries a database rejects. An internal dashboard, restricted to administrators, shows a rolling window of recently failed statements (truncated to 600 characters) together with the database’s error message. This reads query history the data warehouse itself retains — typically about seven days — rather than a copy CREAO stores, and it covers only statements that errored: a query that ran successfully never appears there. As above, failing SQL can embed values you asked the agent to filter on. Today this surface covers CREAO’s own analytics warehouse; if it is extended to customer-connected databases, this notice will be updated first.When the agent uses a connector tool (X, Gmail, Slack, GitHub, custom MCP servers, etc.), the tool’s response flows into the agent’s context so it can act on the result — and this includes error responses, not just successful ones. If a connector call fails, the provider’s error message (for example, “this action requires a higher access tier” or “missing required field”) is forwarded to your selected LLM provider so the agent can explain the failure or correct and retry. CREAO applies a best-effort pass to strip credential-shaped tokens from these error messages before they enter the context.When the agent invokes a capability on your paired CREAO Connect device (including a custom MCP server you configured on that device), the result the device returns — arbitrary local output such as command output, file contents, or an MCP tool’s response — is inserted into the agent’s context and forwarded to your selected LLM provider, the same way other tool results are. This output is explicitly framed to the model as untrusted, since it originates from code CREAO does not control running on your own machine.For a connected AWS account (Bring Your Own Cloud), the results the agent reads from your account — CloudWatch log events, metric data points, and alarm states — flow into the agent’s context to answer your request. Like other connector data, that means these tool results are sent to your selected LLM provider as part of the conversation context. The agent reads only what the tool you triggered returns; CREAO does not bulk-export or continuously ingest your cloud account.If you install the CREAO Slack Agent App in a Slack workspace, messages that @mention the bot or are sent to it directly are sent to your selected LLM provider as part of the agent’s context, and the agent’s reply is posted back into that Slack thread or DM. See Connector Data Access below for what’s collected, from whom, and how consent works for this feature.Organizations can also configure standing instructions for a connected database — free text (up to 20,000 characters per data source) authored by your own organization’s members, not by CREAO. When that data source is connected to a chat, these instructions are injected verbatim into the agent’s system prompt for every conversation in the organization, so they are forwarded to your selected LLM provider as part of the context window. Organizations can likewise save reusable prompt templates (a name plus a prompt body); a template’s prompt body is only sent to the provider if a member actually inserts it into a message. Both surfaces are editable by any member of the organization.When reflection retrieval is enabled for your request, CREAO may use your current prompt/query text with CREAO’s reflection search and inject reflection profiles/playbooks as summarized excerpts into the model context. This means reflection-derived summaries can be forwarded to your selected LLM provider as part of the context window. The reflection capability runs in CREAO-controlled infrastructure; no additional subprocessor is used for this reflection step.Dream profiles are generated using Claude Haiku and may be included in agent context alongside your selected LLM provider. This means profile summaries generated by one provider may be forwarded to another as part of the agent’s context window.For accounts using file-based Agent Brain memory, CREAO uses Claude Haiku after a session to consolidate the completed conversation with the existing
USER.md, MEMORY.md, and agent-authored skill content. This post-session review runs independently of the model selected for the conversation and writes its bounded result back to the same account workspace.When you request an AI edit to an agent-authored skill file from the Memory view, CREAO sends the complete current selected file—either SKILL.md or a supporting file—and your edit instruction in one request to CREAO’s self-hosted DeepSeek V4 Flash path, independently of the model selected for chat. The edited file is validated and written back only if the version you opened has not changed in the meantime. This request uses the same encrypted gateway, failover terms, and usage-based credit billing described for DeepSeek V4 Flash below.When the agent searches your saved memories, CREAO may rank the candidate matches with Claude Haiku before returning them: your search text and the content of up to 25 candidate memories (each truncated) are sent for relevance scoring, and only the scores come back. This selects which of your own memories the agent sees — it adds no new subprocessor (Anthropic is already used above) and stores nothing additional.Follow-up suggestion chips shown under an answer are generated by the same LLM provider you selected for the conversation, in a short internal follow-up request the platform makes right after the answer is complete: it asks the same model, with the conversation context it already has plus the names of your saved agents and available integrations, to return the suggestions as structured data. No additional provider or separate platform model is involved, and no extra copy of your conversation is sent anywhere — the request reuses the same session with the same provider (and, like the rest of the turn, is part of its normal usage-based billing). The request and its reply are used only to render the chips and are not kept as part of the conversation history the agent sees on later turns.So the agent can answer “can I use this feature?” for your account instead of quoting the public plan descriptions, CREAO includes a short account-capability summary in the agent’s system prompt, which is forwarded to your selected LLM provider like the rest of the context. This summary is deliberately minimal: a set of yes/no flags for capabilities such as scheduled runs, long-running media renders, premium models, longer generated PDFs, and video generation, plus how many scheduled runs or renders may run at the same time. It contains no plan or package name, no prices or amounts, no billing history, no credit balance, and no account identifiers.In organization context, memories and Dream profiles contributed by any member of your organization may be included in the agent context for other members’ sessions in that organization. For a shared team agent, reflection-derived agent playbooks work the same way: playbooks learned from any member’s conversations with that agent may be included in the agent context when other members run it, once approved for shared use. The agent’s creator can view, approve, reject, or delete these playbooks from the agent’s Playbooks tab; other org members can view but not change them.Which AI providers does CREAO use?
Which AI providers does CREAO use?
CREAO supports multiple LLM providers:
- Anthropic (Claude Fable, Opus, Sonnet, Haiku)
- OpenAI (GPT-5.5, GPT-5.6)
- Google (Gemini Pro, Gemini Flash; Veo and Gemini Omni Flash for video generation; Gemini Transcribe for speech-to-text voice transcription, where enabled)
- MiniMax (MiniMax M3 — internal response-quality evaluation via the MiniMax API; for conversations flagged as possibly integration-related, this evaluation may also include the list of service names you have connected (for example “gmail, slack” — names only, never tokens, credentials, or account contents) so quality problems can be attributed to missing or misused integrations; where a sampled response was given memory entries from your earlier conversations, the evaluation may also include the text of those entries, so CREAO can judge whether each remembered detail was relevant and whether it improved or harmed the answer; conversation requests are served by Fireworks AI)
- Z.AI (GLM 5.3 and GLM 5.3 Flash — sent directly to Z.AI under CREAO’s own Z.AI agreement, and performed by Z.AI; also GLM 5.2, which is relayed via OpenRouter but whose inference is performed by Fireworks AI)
- Moonshot AI (Kimi K3, via OpenRouter)
- Thinking Machines (Inkling via OpenRouter)
- DeepSeek (model publisher, and — for DeepSeek V4 Pro only — an inference provider. DeepSeek V4 Flash is open-weights and CREAO self-hosts it: conversation content is not sent to DeepSeek; during maintenance or failover, requests may be temporarily routed via OpenRouter to third-party inference hosts, with DeepSeek’s own API endpoint excluded — this includes up to two sequential automatic retries of any individual request that hits a self-hosted capacity error, on the same model; independently, a response whose stream is detected as corrupted may be automatically regenerated once on the same self-hosted infrastructure, involving no third party. DeepSeek V4 Pro is not self-hosted: it is relayed via OpenRouter and served by DeepSeek’s own API by preference, so conversation content for that model is sent to DeepSeek, under DeepSeek’s API terms, which prohibit training use)
- Fireworks AI (direct inference for MiniMax M3 conversation requests, and inference for GLM 5.2 — not the GLM 5.3 models, which do not ride OpenRouter — requests relayed via OpenRouter, both under CREAO’s Fireworks account; may also serve other OpenRouter-routed open models, and is the preferred host for the automatic same-model OpenRouter retry of self-hosted DeepSeek V4 Flash requests that hit a capacity error)
- DeepInfra / Novita / Together AI (MiniMax M3 conversation requests relayed via OpenRouter, only as an automatic fallback when Fireworks returns a capacity error)
- GMICloud (DeepSeek V4 Pro conversation requests relayed via OpenRouter, only as a fallback when DeepSeek’s own API is unavailable)
- Meta (Muse Spark models via the Meta Model API. Muse Spark 1.3 and 1.2 go directly to Meta by default and reach OpenRouter only if CREAO moves them onto that path as a fallback, in which case OpenRouter relays the request and Meta still performs the inference, being the only host OpenRouter offers for those models; Muse Spark 1.1 has no such fallback)
- BytePlus (Seedance video generation, Seedream image generation)
- Sakana AI (Fugu Ultra model orchestration)
What about code execution?
What about code execution?
Code generated by the AI runs in an isolated sandbox. The sandbox has no access to other users’ data, no persistent network access to internal systems, and is destroyed after the session ends. Generated files are stored encrypted and associated only with your account. If you share a thread via the Share feature, files and artifacts within that thread become accessible to anyone with the share link.
Connector Data Access
Connectors provide scoped access to third-party systems (OAuth/API-key based). See Skills and Connectors for the full feature overview and Security for auth model and security controls.
Some connectors run through direct provider API integrations; others may run through integration relay infrastructure. In all cases, access is bound to your authenticated connector account and approved permissions.
Etsy seller connector. When enabled for your account, CREAO’s first-party Etsy OAuth connector can access the connected seller’s shop profile, taxonomy choices, listings, product photos and digital files, inventory and variations, shipping/processing profiles, receipts, transaction line items, payment summaries, carrier choices, and shipment status/tracking values. CREAO requests
listings_r, listings_w, shops_r, shops_w, transactions_r, and transactions_w; it does not request buyer-email, saved-address, profile, billing-statement, or permanent-listing-delete scopes. Receipt payloads are filtered before reaching the agent to remove buyer email and street-address fields. Product files and photos you select are transferred from CREAO storage to Etsy. The encrypted OAuth tokens, Etsy user/shop identifiers, shop display name, granted scopes, and token-expiry timestamps are kept until you disconnect Etsy or delete your CREAO account; token and PKCE-state tables are excluded entirely from the analytics warehouse. Disconnect in CREAO and, if desired, revoke CREAO under Etsy Shop Manager → Apps → Connected apps.
Slack app (bot install) is a different model from the “Collaboration” row above. A single workspace member (“the installer”) installs the CREAO Slack app and grants it standing, workspace-wide read access — channel, group, and DM message history and files, not just the installer’s own OAuth-scoped data — for every channel the bot is subsequently added to. The installer explicitly acknowledges a consent notice before the integration activates, but other members of the workspace whose messages become readable once the bot joins their channel have not individually authorized anything themselves; their consent is provided at the workspace level, through whoever installs the app. Every agent run triggered from Slack executes as the installer’s CREAO account (their agent, credits, and connected tools), regardless of which workspace member sent the triggering message. The installer can revoke access at any time by uninstalling the app from Slack or CREAO’s integration settings, which best-effort revokes the bot token.
Posting media to X (attaching user-uploaded or agent-generated images and video to a tweet) requires the media.write OAuth scope. When you post, CREAO fetches the media bytes from your CREAO storage and uploads them to X’s API; each posting action still requires your explicit approval. If you connected X before this scope was introduced, you may need to reconnect X to grant media.write before media attachments will work.
Slack Agent App (Inbound)
This is a separate feature from the “Collaboration” Slack connector above, which lets your agent send messages out to Slack. The Slack Agent App instead lets people bring a CREAO agent into a Slack workspace by @mentioning it or messaging it directly — and it involves a different set of data subjects, so it’s documented on its own.- Who installs it and who’s bound to it: A CREAO account holder (“the installer”) authorizes the app into a Slack workspace via Slack OAuth. Every @mention or direct message to the bot in that workspace — from any member, whether or not they have a CREAO account — runs as the installer’s own agent, on the installer’s credits, using the installer’s connected integrations. The installer must explicitly acknowledge this before the integration activates: anyone with access to a channel the bot is in, or who can message it directly, can trigger a run on the installer’s behalf.
- What’s collected from a triggering message: the Slack workspace/channel/thread identifiers, the triggering member’s Slack user ID, and the text of the message or mention (plus references to any attached files) needed to generate the agent’s response. This is retained only long enough to process the request and support troubleshooting — see Data Retention below — and is not linked to a CREAO account unless the triggering member happens to also be the installer.
- Where it goes: the message text is sent to the installer’s selected LLM provider as agent context (see AI & Model Usage above) and the agent’s reply is posted back into the originating Slack thread or DM, visible to that thread’s Slack participants. If the installer’s selected agent is a routing agent (CREAO auto-provisions a default “Team Request Router” the first time the app is installed), it may forward the message on to a second, more specific agent it selects — still executing as the installer’s account, on the installer’s credits, so the same data-flow guarantees above apply to that second agent’s LLM provider and connected tools as well.
- Removing it: the installer can disconnect the app from CREAO settings at any time, which revokes CREAO’s Slack access token; removing the app from the Slack workspace has the same effect. A workspace member whose message was processed and who is not the installer can request deletion of their retained data via privacy@creao.ai.
Skill Data Handling
Built-in skills are instruction packages — they do not create new third-party data sharing paths by themselves. See Skills and Connectors for the full feature overview and Security for safety boundaries. Built-in skills may operate on:- User prompts and conversation context
- User-provided files and generated artifacts
- Connected-service data when relevant connectors are authorized
Subprocessors
The following third-party services process data on behalf of CREAO:Billing Routing
CREAO uses Stripe Connect to route payments through regional Stripe accounts so that charges are processed by a merchant entity closer to the cardholder, reducing payment declines. The country associated with your IP address (provided by Cloudflare via thecf-ipcountry header) determines which Stripe account processes your payment:
- United States and Canada — payments are processed by New Boundary, Inc. (US Stripe account) as a connected account on the CREAO platform
- All other regions — payments are processed directly by the CREAO platform Stripe account (Hong Kong)