Skip to content
Trust centre

Security at Tulina

Tulina holds the keys to the tools you connect, so the first question anyone sensible asks is where those keys live and who can reach them. This page answers that, along with the rest of a normal vendor review, without you having to send the questionnaire first.

Last updated 11 October 2026

Hosting

European Union

The platform, its database, its object storage, its secrets and its credential vault are hosted in the Union, and all of it currently runs on Scaleway in France. Your working data never leaves the Union to be processed by us.

Credentials

AES-256-GCM

Every token and API key you connect is encrypted at rest. The master key lives outside the database in a secret manager and never touches disk, so a database dump is ciphertext and nothing else.

The agent

Never sees a secret

Credentials are decrypted at the moment of the call and never logged. They do not pass through the language model's context, so no prompt, transcript or model provider ever holds one.

01

How the platform is run

Isolation

Data is partitioned by user and by organisation, and every call runs on the credentials of the person making it. The platform runs on dedicated servers in its own private network, each behind its own firewall, and the machine serving the web app is a separate machine from the one holding credentials.

Access control

Sign-in is OAuth with PKCE against a self-hosted Logto, with no shared password anywhere. Access follows the roles an organisation's administrators set, and least privilege is the default: sensitive sources are closed until opened, and a connector is unavailable to an organisation until it is explicitly turned on. A team can only ever subtract from what its organisation allows.

What we never do with your data

We do not train models on it, sell it, or profile anyone for our own purposes. That is a contractual commitment under article 28, not a policy we could quietly change.

What we can see

We do not read the contents of your connected tools. Error monitoring receives the name of a failing operation and an opaque user identifier. IP addresses, cookies, headers and call arguments are all excluded by configuration, so a stack trace never carries your data.

Audit trail

Every tool call is logged: who ran it, which tool, how long it took, and whether it succeeded. No secret content is ever written to that log. An organisation can review its own workspace through it, and it is what anomaly detection and incident response are built on.

Detection and availability

Network-level intrusion prevention bans malicious addresses automatically, and availability and server resources are monitored continuously. The database is a managed, encrypted PostgreSQL instance, backed up daily with seven days of retention.

Secure development

Changes reach production through pull requests and automated checks, and every production release is a deliberate, tagged deploy rather than a side effect of merging. Secrets live in a managed secret store rather than in the code or on a developer machine.

You can read the code

The technical foundation the platform is built on is open source and auditable rather than asserted: oto-core, france-opendata, o-browser and otomata-calllog are all public. A reviewer who does not want to take our word for the claims above can go and check several of them.

Incident response

We notify you without undue delay once we become aware of a breach affecting your personal data, with what we know at the time and updates as we learn more. That commitment is contractual and sits in the DPA.

Vulnerability reports

Write to security@tulina.ai before disclosing anything elsewhere. Our terms grant a good-faith researcher permission to test, within limits set out on that page.

02

Documents

Four are published and binding. For anything else a review needs, write to security@tulina.ai.

03

Who processes your data

Two groups, and the difference between them matters more than the names. The first runs the platform, for every customer. The second is touched only if you choose to touch it.

Engaged to run the platform

We host the backend on our own servers. These are the suppliers behind them.

France

Hosts the platform on dedicated, isolated servers, with its managed PostgreSQL database, object storage and secret storage. Everything the platform stores sits here.

United States provider, EU region

Error tracking. Receives the name of a failing operation and an opaque user identifier, never your data: IP addresses, cookies, headers and call arguments are excluded by configuration.

United States

DNS for the platform domains and the access gateway for administrative connections to our servers, plus bot checking on the website's forms where it is active. Platform traffic does not pass through it.

Engaged only by your own use

Tulina connects to around a hundred tools, and none of them is connected until you connect it. Which of the following ever receives anything therefore depends on what you install and run, not on being a customer.

With your own key, we are not in the loop. Most connectors run on credentials you supply. Your data travels to that provider under your existing contract with them, on your instruction. We pass it on and we are not the controller of what happens there.

With our key, the vendor sits on our account. A few enrichment and messaging connectors can run on a shared Tulina key instead, so you can try them without signing up separately. That is the only case where one of these vendors becomes a subprocessor of ours, and it starts the moment you use that connector and stops when you stop.

A workspace starts with nothing installed, and a connector stays unavailable to an organisation until an administrator turns it on, so an organisation that never enables enrichment never reaches any of this.

Two sets of providers are deliberately not on this page. The ones serving the tulina.ai website, its demo booking and its sign-up form, and the ones handling payment and billing, are listed on our privacy page instead. We are the controller for both, rather than your processor, and neither touches the data in your workspace.

France

Hosted multi-channel messaging, when you connect LinkedIn, WhatsApp or Telegram.

United States

Waterfall enrichment of B2B contacts, when you run an enrichment that uses it.

United States

Professional email lookup and verification.

France

B2B contact enrichment, phone and email.

United States

Web search, and the hosted scraper the web reader falls back to when a page will not open with a plain fetch.

United States

A disposable hosted browser, for the tools that work through a website rather than an API: Crunchbase search, Pennylane document filing, Brevo automations and the browser tool, and the web reader's last resort on a page that defends itself. Never a silent default: it runs only when a call uses one of these.

The catalogue changes as connectors are added. For the current list, and which of them can run on a shared key, see connectors. We tell customers before adding or replacing a subprocessor that processes their data, and you can object.

Running a security review?

Send us the questionnaire. We answer them ourselves rather than routing you through a portal, and we will tell you plainly where the answer is no.

security@tulina.ai

See Tulina in a 30-minute demo.

Book a demo