Security & data handling
You handle NDA'd client data; so do we. This page is written to be forwarded to a client's IT or security team — send them the link when asking for workspace access.
Read-only scopes, always. Slack: channel history and member names. Gmail (if connected): read-only inbox metadata. Asana: task read access. Notion: read pages you share with the connection. Email bridge: only messages you forward to a per-client inbound address. We can never post, send, edit, or delete anything in your client's tools.
For Slack you can authorize as yourself (user token, no workspace-wide install) or connect a workspace app for real-time events. Both are read-only.
OAuth tokens are encrypted at rest with AES-256-GCM using a versioned key ring, and are never written to logs or exposed to the browser.
Every row of client data is bound to its owner with PostgreSQL Row Level Security — isolation is enforced by the database engine itself, not just application code.
Webhooks are HMAC-signature-verified with replay-attack windows. All traffic is TLS.
Summaries, urgency scores, digests, and Client Memory answers are generated on Microsoft Azure using Azure OpenAI / Azure AI Foundry. We do not train our own models on your data.
Each AI request is scoped to a single client's activity — data from two clients never appears in the same prompt, search, or Ask session.
Embeddings are generated on Azure and used only to index and retrieve that client's Client Memory.
Non-noise activity is indexed into a durable per-client knowledge store so executives can search and ask about prior context after the live feed ages out.
Client Memory rows stay bound to the same user_id and client_id Row Level Security policies as the rest of the product.
Deleting a client or disconnecting an integration cascades purge of related Client Memory documents and chunks.
Feed items are retained for 90 days by default, then automatically deleted. Client Memory is retained until you delete the client (or purge the connection), so durable context can outlive the short feed window.
When an engagement ends, one click on 'Disconnect & purge' permanently erases the token and every item ingested from that connection. Deleting a client erases feed items, digests, and Client Memory for that engagement.
Microsoft Azure (App Service hosting and Azure OpenAI / AI Foundry), Supabase (database and auth), Stripe (billing), and Resend (transactional email and inbound email bridge). Each is bound by its own DPA.
Questions, DPA requests, or security reports: security@fractionalyse.com