Trust & security
This page is maintained by Wooo to answer common security and privacy questions about the product. It describes the controls that are enabled today. It is not an independent certification.
Two practices
- We prefer provider controls that limit training and retention. Provider terms, plan controls, and retention windows can vary, so the subprocessor table links to the current terms for customer and counsel review.
- We minimise what each provider receives. We split generation across roles such as planner, writer, critic, and narrator, and pass each call only the specific context it needs.
AI routing model
We do not use an AI gateway, router, or aggregator. Every model call goes directly from our worker to the provider's own API endpoint, under our contract with that provider.
Your workspace ─► Wooo worker ─► Provider API (Anthropic / OpenAI / Gemini / …)
│
└─► Provenance ledger (metadata only, in your workspace)
No third-party gateway, proxy, aggregator, or shared inference pool sits
in this path. Provider controls are recorded where available.Encryption model
Master key (WOOO_MASTER_KEY, environment secret)
│
▼ wraps
Per-workspace Data Encryption Key (DEK)
│
▼ encrypts (AES-256-GCM)
Your BYOK provider keys · Uploaded source text · Slide content · Narrations
Deleting a workspace destroys its DEK. Ciphertext becomes unrecoverable
("crypto-shredding") without ever touching the underlying rows.Context sharding
Source docs ──► Planner (Claude): outline briefs only, no raw quotes
│
▼
story_graph ──► Writer (GPT-5, per slide): ONE slide brief + minimal chunks
│
▼
slide draft ──► Critic (Gemini): rendered slide + rubric only
│
▼
approved slide ──► Narrator (ElevenLabs): speaker notes text only
Named entities (companies, people, numbers) are replaced with {{TOKENS}}
locally before any call. Only your server-side worker holds the entity map,
and it is discarded when the generation finishes.Subprocessors
| Provider | What it sees | Contract tier | ZDR | Region | Sub-subprocessors | Terms |
|---|---|---|---|---|---|---|
| Anthropic (Claude) | Redacted outline briefs only | API commercial terms | Verified | US | AWS (us-east) | Link ↗ |
| OpenAI | One slide brief per call | API controls where available | — | US | Azure / OpenAI infrastructure | Link ↗ |
| Google (Gemini) | Rendered slide + rubric only | API terms | — | US | Google Cloud | Link ↗ |
| Groq | Single-slide edit instructions | API terms | — | US | GroqCloud | Link ↗ |
| Perplexity | Public web queries only | API terms | — | US | AWS | Link ↗ |
| ElevenLabs | Speaker notes text only | API / account terms | — | US | AWS | Link ↗ |
| Deepgram | Voice recordings (author-initiated) | API / account terms | — | US | AWS/GCP | Link ↗ |
| fal.ai | Prompt text | API terms | — | US | AWS | Link ↗ |
| Lovable Cloud | App records and account data | Platform terms | — | EU/US | Cloud infrastructure | Link ↗ |
Data retention
| Data | Where | Retention |
|---|---|---|
| Source documents you upload | Encrypted (AES-256-GCM) with your workspace key | Until you delete the pack or your account |
| Generated slides, notes, narrations | Same workspace-encrypted store | Until you delete the pack |
| BYOK provider API keys | Encrypted per-user with envelope encryption | Until you remove them; wiped on account delete |
| Provenance events (audit log) | Metadata only — hashes, not prompts | 90 days rolling |
| AI provider-side prompts / completions | Provider systems governed by the active provider terms | Varies by provider, plan, and account settings |
Confidentiality mode
Any pack can be switched into Confidentiality mode. When on, Wooo:
- Refuses to run without your own BYOK keys for Anthropic, OpenAI, and Gemini.
- Uses tighter source minimisation and role sharding on every call.
- Can be configured to use your own provider keys instead of managed-key fallback.
- Records every call in a provenance log you can review.
What organisations typically ask
- Do you have a DPA?
- Yes. Contact security@atriverse.com for our standard Data Processing Agreement, which includes SCCs for EU/UK transfers.
- Do model providers train on our data?
- We prefer provider APIs and account settings that restrict training and retention, and we link the current provider terms above so customers and counsel can verify them. Availability can vary by provider, plan, region, and feature.
- Do you route through an AI gateway or aggregator?
- No. Every call goes directly from our server to the provider's own API endpoint. There is no third-party router, proxy, or aggregator in the path.
- How do you stop someone abusing the AI endpoints?
- Every metered endpoint enforces a durable per-caller rate limit stored in the database (not in memory), so limits survive restarts and can't be reset by reconnecting. Generation additionally consumes your plan quota, which is checked server-side.
- How is third-party content prevented from hijacking generation?
- Uploaded decks, scraped brand sites, partner endpoints, and web research results are scrubbed of instruction-style patterns and passed to models inside a labelled data block that is explicitly marked as non-instruction. Model output never triggers a privileged action on its own, and outbound fetches are restricted to public https endpoints — private, loopback, and cloud-metadata addresses are refused.
- Can I control who sees a share link?
- Yes. Envoy and live-session links carry an expiry date, an optional maximum view count, and one-click revocation. Every open is written to an access log you can read for your own links.
- What is your breach notification window?
- 72 hours from confirmation of a security incident affecting customer data, in line with GDPR expectations.
- What is your deletion SLA?
- Immediate on workspace delete (crypto-shredded within seconds). Provider-side residuals expire within each provider's stated retention window.
- Can we export the audit log?
- Yes. Every AI call is recorded (provider, model, BYOK vs managed, prompt hash, entity count, tokens, zero-retention flag). You can download 90 days of your workspace's audit log as CSV from /audit.
- How do I report a vulnerability?
- Email security@atriverse.com, or see /.well-known/security.txt for scope and reporting guidance. Please test only with accounts you control.
- Do you have SOC 2 / ISO 27001?
- Not yet — attestation is on our roadmap. We operate to those control frameworks today and can share a self-assessment on request.
Contact
Security concern, subprocessor question, or takedown request: security@atriverse.com.