DPIA support
Last updated 20 October 2026 · Tolla, operated by Dmitrii Russu, 8006 Zürich, Switzerland
This page helps Tolla's customers carry out their data protection impact assessment (DPIA) for using Tolla. As the controller, your company is responsible for the assessment; as your processor, Tolla supplies the facts about the processing, the risks we see and the safeguards built in. It follows the structure of Article 35(7) GDPR and Article 22 of the Swiss FADP. Copy what fits into your own assessment, and adapt it to how you use Tolla.
Do you need a DPIA?
Probably, if you use account linking on people in the EU, the UK or Switzerland. Data protection authorities expect a DPIA when processing meets two or more of the EDPB criteria. Using Tolla meets several:
- Evaluation or scoring: Tolla estimates how likely two accounts belong to the same person.
- Matching or combining datasets: usage, payments and identity signals from different sources are combined.
- Systematic monitoring: usage is recorded continuously, and, with the browser snippet, devices are recognised.
- Possibly large scale, depending on how many users you have.
- Possibly affecting access to a service, if you use the results to limit free accounts, or turn on a change that gives some users a smaller free allowance.
If you only use the cost and conversion analyses, without identity signals, the case for a DPIA is much weaker.
1. Description of the processing
Purpose. Understanding the economics of your free tier: what each free user costs, who converts, and which accounts probably belong to the same person, so you can design your free tier and limit abuse of it. If you turn a change on, your product also asks Tolla what the rule you approved says for each user, for example a smaller free allowance for repeat accounts, and applies the answer.
People concerned. Your users and prospective users (people who sign up for or use your product).
Data, all sent by you or read from your Stripe account:
| Category | Examples | How it is stored |
|---|---|---|
| User records | Your user id, sign-up date and source, plan | As sent |
| Usage and cost | AI model, tokens, cost, feature, time | As sent |
| Product events | "viewed pricing", "limit reached" (you choose which) | As sent |
| Payments | Subscriptions, payments, refunds; Stripe customer id; card fingerprint | As read from Stripe; never card numbers |
| Identity signals | Email address, IP address and network, device id; optionally a device fingerprint and automation checks | Salted SHA-256 hashes only; originals never stored |
| Results | Probabilistic links between accounts, segments | Computed |
No special categories of data (such as health data), no prompt or file content, and no data about children may be sent (Terms, section 5).
Sources. Your servers (SDK, API or OpenTelemetry), your Stripe account (read-only key), and, if you install it, the browser snippet on your sign-up and sign-in pages.
Recipients. Only you. Tolla uses two subprocessors for hosting and the database, in Frankfurt, Germany (see Subprocessors). Tolla never uses your data for other customers.
Retention. Identity session data: your setting, 30 to 730 days (180 by default), deleted daily once older. Debugging event log: 30 days. Everything else: until you delete it or close your workspace, then within 30 days.
Data flow. Your server or Stripe → TLS → Tolla's API (Frankfurt) → identity values hashed on arrival → stored per workspace in an encrypted database (Frankfurt) → analyses shown to your team in the Tolla app.
2. How account linking works
Tolla compares the hashed signals of your accounts. When two accounts share a signal, that signal adds evidence that they belong to the same person. The base weights are:
| Shared signal | Base weight |
|---|---|
| Same card (Stripe card fingerprint) | 95% |
| Same device id (browser snippet) | 90% |
| Same email address (after removing aliases such as name+tag) | 85% |
| Same device fingerprint (optional) | 75% |
| Similar device (browser characteristics) | 35% |
| Same IP address | 30% |
| Same network (IP /24) | 12% |
Each weight is adjusted before it counts:
- Rarity: a value shared by many accounts is ignored, because it is probably an office, a university or a mobile network rather than one person. For example, an IP address shared by 25 or more accounts adds nothing.
- Recency: short-lived signals such as IP addresses count less the further apart the two accounts were seen (half-life 14 days for an IP address).
- Repetition: a value seen together across several sessions counts a little more.
The adjusted weights combine as 1 − Π(1 − w). A link is shown from 50% confidence and marked strong from 80%. Behavioural hints (an account created right after another hit its free limit, a similar usage pattern) can raise or lower the confidence of a pair that already shares a signal, but never create a link on their own.
Accuracy. Links are probabilities. Where enough accounts have a card or another hard identifier, Tolla measures on your own traffic how often its links are right, and shows that precision on the Linked accounts page.
Known sources of error:
- False links: people in one household sharing a computer or card; colleagues behind a small office network; one person's devices used by family members.
- Missed links: people who change device, email, card and network together.
3. Necessity and proportionality
| Principle | How it is met |
|---|---|
| Legitimate purpose | Understanding the cost of a free tier and limiting its abuse. Preventing fraud and misuse is recognised as a legitimate interest (GDPR Recital 47). |
| Legal basis (your choice) | Usually your legitimate interest (Art. 6(1)(f) GDPR) in sustainable pricing and preventing abuse of free accounts; under the FADP, an overriding private interest (Art. 31). Document a balancing test. |
| Data minimisation | Only the fields the analyses need are accepted. Identity values are hashed before storage; card numbers and content are never received. The browser snippet runs only after sign-up and sign-in. |
| Purpose limitation | Tolla processes the data only for you, never for its own purposes or for other customers (DPA, section 2). |
| Storage limitation | Retention settings enforced daily; deletion of single users through the API; deletion at the end of the contract. |
| Transparency | Your privacy policy names the processing (text below); your cookie notice lists the snippet's cookie. |
| Rights of the people concerned | Access and deletion by your user id: DELETE /api/v1/users/{userId} deletes everything about a user; exports on request. |
| Transfers | Data stored in the EU; US-based providers covered by the EU-U.S. and Swiss-U.S. Data Privacy Frameworks and Standard Contractual Clauses. |
4. Risks and safeguards
| Risk for the people concerned | Likelihood without safeguards | Safeguards |
|---|---|---|
| Someone is wrongly treated as a repeat account and loses free access | Medium | Links are shown as probabilities with their evidence; links below 80% are marked weak; signals shared by many accounts are ignored. You: a person reviews before any measure that significantly affects someone, and users can contest it (Art. 22 GDPR, Art. 21 FADP). |
| Covert tracking of devices | Medium | The snippet does nothing on page load and runs only after sign-up and sign-in; it can wait for consent; fingerprinting is off by default. You: list the cookie in your cookie notice and ask for consent where required. |
| Identity data revealed in a breach | Low | Only salted hashes are stored, with a secret salt per workspace; encryption in transit and at rest; separation between workspaces tested on every change. |
| A change you turn on gives someone a smaller free allowance | Medium | Each change runs in shadow first and applies only the rule you approved; a control group keeps today's free tier, and the change stops by itself if conversion falls clearly; if Tolla can't be reached, the SDK lets requests through unchanged. You: say in your terms or pricing page that free allowances can depend on how the free plan is used, and let users ask for a review. |
| Data used beyond the purpose (for example, marketing) | Low | Contractual purpose limitation; no cross-customer use; no advertising use. |
| Data kept too long | Low | Automatic retention, deletion API, deletion at the end of the contract. |
| Access by foreign authorities | Low | EU hosting; encryption; pseudonymised identity data; providers' commitments to challenge and report requests. |
With these safeguards, and your own measures marked You, we consider the remaining risk acceptable. Your assessment must reach its own conclusion.
5. Your checklist
- Choose and document the legal basis (usually legitimate interest), with a short balancing test.
- Add the processing to your privacy policy (text below) and your record of processing activities.
- If you install the browser snippet: load it only after sign-up and sign-in, list its cookie in your cookie notice, and decide whether to wait for consent (
data-consent="wait"). Ask for consent before turning on the device fingerprint for EU visitors. - Set the retention period in Settings → Workspace.
- Call the deletion API when a user deletes their account or asks to be forgotten.
- Make sure a person reviews decisions based on links, and that users can contest them.
- If you turn changes on: say in your terms or pricing page that free allowances can depend on how the free plan is used, and how to ask for a review.
- Review the assessment once a year, or when you start using new signals or turn on a new kind of change.
6. Text you can copy
For your privacy policy:
To understand the cost of our free plan and to prevent abuse of free accounts, we use Tolla (Dmitrii Russu, Zürich, Switzerland) as a processor. Tolla receives information about how you use our product (such as usage, costs and payments) and, to recognise accounts that belong to the same person, your email address, IP address and a device identifier, which are stored only in pseudonymised (hashed) form. The data is stored in the EU. Based on how the free plan is used, it may give some accounts a smaller or larger free allowance, according to rules we set; you can ask us to review yours. Our legal basis is our legitimate interest in sustainable pricing and preventing abuse. No decision with legal or similarly significant effect is taken without human review. You can object to this processing and ask for deletion by contacting us.
For your cookie notice (only if you install the browser snippet):
| Name | Provider | Purpose | Duration | Category |
|---|---|---|---|---|
_tolla_id (cookie and local storage) | Tolla (first party) | Recognises a device that creates or signs in to several accounts, to prevent abuse | 2 years | Necessary (security) |
_tolla_sid | Tolla (session storage) | Groups the sign-in events of one browser session | Until the tab closes | Necessary (security) |
Questions about this assessment: dmitrii@russu.net.