Identity, PII & the DPA
How Atune separates broadly-captured behavior from personal data, which flows only under a data-processing agreement.
Atune draws a firm line between behavior and identity. Understanding this line is how you stay on the right side of privacy by default.
Behavior vs. identity
| Behavior | Identity | |
|---|---|---|
| What | How accounts and users act — requests, events | Names, emails, company names |
| How captured | Automatically, broadly, from the middleware | Only what you send, via identify() / group() |
| Gate | On by default | Requires an accepted DPA |
Behavior is captured broadly so understanding has something to rest on. Identity is never inferred or scraped — it is only ever the data you choose to send.
Sending identity
import { identify, group } from "atune";
await identify(userId, { name: "Kari Nordmann", email: "kari@acme.no" });
await group(accountId, { company: "Acme AS" });This is what lets answers read "Kari at Acme" instead of "user u_123". Until you send it, Atune works fine on opaque IDs — identity only makes answers more legible.
Anonymous activity
Atune accepts events even when a request has no user identity yet. Anonymous activity is still useful behavior signal: it can show that an account is active, which flows are being touched, and where intent is building.
Anonymous activity should not become a parallel user model. Atune does not turn
anonymousId values into users, and you should not send names or emails through
capture. Instead:
- keep behavior flowing through
/api/events; - call
identify()once the user is known, usually after login or session creation; - call
group()once the account, workspace, company, or tenant is known.
The product surfaces this as identity coverage on each account. Low coverage is a setup signal, not an ingestion failure.
Personal data needs a DPA
identify() and group() accept personal data (name, email, company). That
data flows only under an accepted data-processing agreement. Behavior capture
never reads request bodies, so it carries no such payload.
Roles and residency
- You are the controller. Atune is the processor. You decide what personal data is sent; Atune processes it on your behalf under the DPA.
- Data stays in the EU.
That division is deliberate: you keep control of personal data, and Atune keeps the infrastructure that turns behavior into understanding.