Legal
What we collect, what we don't, and where the data lives.
Vitrus sets no cookies, mints no persistent identifier and stores no personal data about your visitors. The visitor id is a one-way hash that changes every day. Where a site owner chooses to send the ids of their signed-in users, those arrive already hashed and are stored only as a second hash (see below).
Session replay is off by default. It records only on a site whose owner switched it on
and whose page opted in with the data-replay attribute. When it
records, it collects:
*) unless the site owner marked an element as publicIt never captures password fields, credit-card fields, one-time codes or anything the site owner
marked with data-vitrus-block; those are recorded as an empty grey box.
Visitors who send Do Not Track or Global Privacy Control are never recorded. Recording sets no
cookie and stores nothing in the browser; the IP address is not stored. Recordings are deleted
after the retention the site owner chose (30 days by default, at most 90), and a site owner can
delete any recording at any time. Sites in strict privacy mode cannot enable replay.
hash(secret_salt + day + site + ip_prefix + browser)
The salt rotates daily, so the same visitor hashes to a different value tomorrow. Retroactive
identity stitching is not possible. IPv6 addresses are reduced to their /64
prefix — that identifies a network, not a device.
identify)A site or app owner may tell Vitrus which of their own users is signed in, so that they can count new, returning, lost and paying users. When they do:
sha256(site + id)), and the server hashes that again with a secret.
Only the second hash is stored; the raw id never is.This is pseudonymous data: the site owner, who holds the original ids, could match a hash to a person in their own system. That is why it exists only where the owner chose to send it, and why strict mode ignores it.
An app using the Vitrus SDK sends screen names, the events the app owner defines and their properties, the app version, and a user-agent naming the SDK, the device class (phone, tablet or desktop), the operating system and its version. Signed-in users are handled exactly as above, hashed on the device.
NSPrivacyTracking is false) and needs no App Tracking Transparency prompt.Each site can be switched to strict mode, which drops country, screen size, referrer query strings and cross-day identity entirely, and refuses any Do Not Track override. It is enforced on the server, so the browser script cannot bypass it.
If the browser sends DNT, nothing is collected by default. A site owner can disable that
with data-do-not-track="false", in which case the responsibility is
theirs — except in strict mode, where the override is refused.
In the cloud version, data is held on our servers in Germany/Finland (Hetzner). If you run it yourself, the data is yours and nothing is sent to us.
| Who | For what | What they see |
|---|---|---|
| Cloudflare | CDN and TLS | Request metadata |
| Paddle | Payments and invoicing | Payment details (never stored by us) |
| Resend | Digest email | Recipient address and summary content |
| LLM provider | Only if you enable one | An aggregated evidence bundle — never raw visitor data |
To delete your account and data, write to us; we action requests within 30 days. Retention length depends on your plan (pricing).