Docs

Privacy controls

Trace is built to never collect secrets rather than to protect them afterwards. On top of that, you add your own rules.

Built in

DataWhat's kept
Input values, editable content, page titlesNever collected
Element textOnly from buttons, links and labels, never containers, and nothing inside data-trace-mask or a form with password or payment fields. Every digit is masked: Pay €1,234.56 → Pay €#,###.##
Emails, tokens, card numbers, IBANs, phone numbersReplaced with [email], [token], [card], [iban], [number]
URLsQuery strings are never sent. Segments that look like emails, ids or tokens become :email, :id, :token
ReferrerOrigin only, and only from another site
Event propertiesKeys such as password, card, email, phone, address are dropped; other values are scrubbed
Visitors' addressesNever stored. Hashed with the website, the browser and a daily salt; old salts are deleted

All of this runs twice: in the browser, then again on the server, so old or hand-written clients are held to the same rules.

Your own rules

  • Mask an element: add data-trace-mask in your HTML, or a mask_selector rule such as .account-summary.
  • Ignore pages: an ignore_path rule such as /admin* records nothing there.
  • Redact a pattern: a redact_pattern rule replaces a regular expression everywhere.
  • Drop a property: a drop_prop rule never stores that custom-event property.

Add them through your agent, for example /trace:manage mask .account-summary. Settings › Privacy in the dashboard lists them.

Your own machine

Once your website is live, visits from localhost and private addresses are left out, so testing doesn't skew your numbers.

How privacy works · Privacy policy · Data processing terms