Roles
Under the Privacy policy, Fini acts in two roles:What data Fini processes
What reaches Fini depends on what you connect. The categories below come from the product surfaces you configure.
You control the largest variable: which attributes your endpoints return and which documents you sync. Send the minimum each workflow needs.
Where data is processed
The Azure deployment is bought through Microsoft Marketplace (MACC-eligible, on a single Microsoft invoice) and supports Private Link and VNet, customer-managed encryption keys, Entra ID and Conditional Access, and Azure Monitor and Sentinel integration.
Outbound calls from Fini to your systems, when an Action runs, originate from four static IP addresses in Google Cloud’s
europe-west4 region (Netherlands). See Static IP addresses.Encryption
- At rest: AES-256.
- In transit: TLS 1.2 or higher.
- Contact details in conversations: email addresses and formatted phone numbers in message text are encrypted at rest, which is why Inbox text search cannot match them. See Inbox.
- Azure deployments: customer-managed encryption keys are supported.
Model training
Customer data is never used to train foundation models. Fini’s LLM subprocessors are contractually barred from training on it, and the commitment is written into the DPA. This is different from how Fini improves your own agent. Magic Articles drafts articles from transcripts and documents you provide, and they land in Review or Published depending on your Status After Generation setting. Your team’s feedback in Inbox and Test Suite results shape your agent’s configuration. Those improvements stay in your workspace; they do not train a shared model. See Magic articles and Review.Subprocessors
Exhibit A of the DPA lists Google Cloud, Supabase, OpenAI and Anthropic. Fini’s published subprocessors also include PostHog, Sentry, Stripe, Linear and Langfuse. The DPA sets a 30-day notice period for subprocessor changes, which gives you time to review a change before it takes effect.Retention and deletion
Two implementation details matter if you automate deletion:
- Single delete returns success even for unknown IDs. It does not confirm that the ID matched a live conversation, so verify IDs with List conversations first.
- Bulk delete is not atomic. If any ID is inaccessible, the request returns
406 Not Acceptable, but the matching conversations are still removed. Retry only the IDs that failed.
DPA terms at a glance
The Data Processing Addendum (v1.0.5) is the binding text. Key terms:Data subject requests (GDPR and CCPA)
As your processor, Fini supports you in answering requests from your customers. You stay the controller and decide how to respond.1
Find the conversations
In Inbox, use the Ticket Id filter with the customer’s ticket IDs from your helpdesk, or use the Conversations API to list them programmatically. Email addresses and formatted phone numbers are encrypted at rest in Inbox, so you can’t find a customer by searching for their email in the Question filter.
2
Fulfill access or portability requests
Export the conversations with a
read-scoped API key, or open them in Inbox. See API keys.3
Fulfill deletion requests
Delete the conversations through the deletion endpoints above, then delete the source records in your helpdesk and any system your Actions wrote to.
4
Escalate anything else
For requests you can’t complete yourself, contact legal@usefini.com. The Data protection policy lists the data subject rights Fini supports.
Related
Security overview
Posture table, evidence and reviewer FAQ.
HIPAA and BAAs
Requesting a BAA and configuring for PHI.
Delete conversation
API reference for single-conversation deletion.
API keys
Scopes, rotation and revocation for programmatic access.

