Skip to content
View as .md

Privacy data map

The current production data flows behind /privacy. Update this page when a provider or data path changes.

arbe is operated by Oskar Roug Mosumgaard (Invisible Touch). The public notice lives at apps/www/src/routes/privacy/+page.svelte; this page is the internal map used to keep it accurate.

Controller contact is deliberately email-only (oskar+arbe@rough.dk); no postal address is published, which is a standing decision rather than an oversight. Worth revisiting if arbe takes payment, leaves alpha, or picks up users outside the current circle.

Data flows

DataSourceWhere it goesPurposeOwner
Account identity, email, OAuth profile, auth timestampsThe person and their sign-in providerSupabase Auth; GitHub when GitHub sign-in is selectedSign-in and account recoveryapps/www/src/routes/login/, apps/www/src/routes/auth/, docs/system/auth.md
Profiles, houses, memberships, agents, threads, workflows, environments, usage ledgerPeople, agents, and application mutationsSupabase Postgres; Electric SQL for live browser syncDurable product state and multiplayer syncpackages/supabase/migrations/, apps/www/src/routes/api/shapes/, docs/system/storage.md
Messages, tool events, lifecycle signals, run historyPeople, agents, and the dispatcherElectric SQL Durable StreamsShared conversation and durable run historypackages/core/entries.ts, packages/core/schemas/stream-events/, docs/system/durable-streams.md
Uploaded files and derived search dataHouse members and agentsSupabase Storage; ragthis on Fly.io; the model used for visual extractionFile storage, extraction, search, and citationspackages/core/files.ts, apps/www/src/lib/server/file-index.ts, docs/system/files.md
Prompts, replies, selected thread context, tool inputs and resultsPeople, agents, threads, and toolsOpenRouter and the selected model provider, or a directly selected providerGenerate model decisions and repliespackages/core/dispatch/reply.ts, packages/core/pi/, docs/system/llm-keys.md
Repositories, workspace files, commands, results, and bound runtime secretsHouse members and agents acting on their instructionsDaytona; legacy Sprites when that runtime is selectedRun tools and coding work on remote computerspackages/sandbox/src/daytona/, packages/sandbox/src/sprites/, docs/system/runtime.md
API-token metadata, secret names, encrypted secret valuesHouse members and CLI sessionsSupabase Postgres and Vault; resolved values enter the selected runtime when neededAuthenticate API clients and supply tools with credentialsapps/www/src/routes/api/secrets/, packages/core/dispatch/turn-secrets.ts, docs/system/secrets.md
Request IDs, errors, runtime logsApplication and infrastructureCloudflareSecurity, failure diagnosis, and service operationapps/www/src/hooks.server.ts, apps/www/wrangler.jsonc, docs/system/observability.md
App IDs, run IDs, model/tool usage, token counts, cost, latency, failure statusDispatcher and paid capability seamsSupabase usage_events; PostHog EUUsage limits, cost attribution, and operational reliabilitypackages/core/usage.ts, packages/core/usage-posthog.ts, docs/system/analytics.md
Thread/agent/trace IDs, dispatch outcome, duration, HTTP statusDispatcher run terminals, always-on (not opt-in)PostHog EUOperational reliability of agent runspackages/core/dispatch/signals.ts, docs/system/analytics.md
Optional lifecycle analytics and hashed browser identityApplication after per-agent opt-inPostHog EUUnderstand product useapps/www/src/lib/analytics.ts, apps/www/src/lib/server/track.ts, docs/system/analytics.md
Session cookies; PostHog browser identifier after opt-inThe browserSet by arbe; PostHog EU for the analytics identifierKeep a session signed in; attribute opted-in analyticsapps/www/src/hooks.server.ts, apps/www/src/lib/analytics.ts, docs/system/auth.md

Providers

ProviderRole in arbeData boundary
CloudflareHosts the web app and API; provides network security and application logsRequests, IP/network metadata, request IDs, and logged failures
SupabaseAuthentication, Postgres, file storage, and VaultAccount identity, structural product data, files, usage ledger, encrypted secrets
Electric SQLBrowser sync and durable thread streamsSynced house records and full thread/run history
GitHubOptional OAuth sign-inOAuth identity and profile fields returned during sign-in
OpenRouter and selected model providersModel inferencePrompts, selected context, replies, and tool-related content needed for a turn
DaytonaDefault remote sandbox runtimeWorkspace content, commands, results, and credentials injected for requested work
SpritesLegacy remote sandbox runtimeThe same runtime categories when a house selects Sprites
Fly.io / ragthisHosts arbe’s derived file-search serviceUploaded file content, extracted text, images, captions, and embeddings
PostHog EUOptional product telemetry plus always-on operational and usage eventsNo email, names, prompts, messages, file content, or session data; app IDs remain linkable inside arbe

Other house members and agents are recipients of data shared inside their house. They are part of the product’s collaboration boundary, not infrastructure providers.

Update rule

Before adding a provider or sending a new data category to an existing provider:

  1. Update this map and the public /privacy notice.
  2. Decide whether the data is optional or required, and keep optional analytics behind explicit opt-in.
  3. Check export and account/house deletion behavior at the canonical storage boundary.
  4. Keep content and direct identity out of PostHog.

Provider retention schedules, regions, contractual safeguards, and deletion propagation are deployment/legal records rather than code-owned facts. They are not verified in this map.