Skip to main content
Agentrail records the steps of a visit, not its content. This page lists what each source sends. Behaviour and the fingerprint are off unless you turn them on.

The edge

Each request is one event, holding:
  • the method, host, path, status and content type, and when it started and ended
  • where a redirect pointed
  • the user agent
  • a keyed hash of the visitor’s address
  • the visitor’s session id, from the agentrail_session cookie
  • a keyed hash of the verified identity, if your identify returned one
  • the markers the request carried or the answer was given, and the links to your own hosts that an answer meant for agents named

The browser script

As soon as the tag loads, the script records:
  • each page view: the host and path, the time, the user agent and the session id
  • each call to your own origins: the method, host, path, status and duration
  • that a WebMCP tool ran, and when. Its name is not kept. Its arguments are read only for markers, and never kept.
  • the markers in a page’s address
The script sends no address, and the hash key never goes into a page. Agentrail hashes the address each call came from with your hash key when the call arrives, and stores only the hash with the step.

Behaviour

With data-behaviour="on", the script also records how the page is used:
  • pointer movement, clicks and scrolling, with their position and time
  • when a key went down and up, and whether it was a movement key, an editing key or another key, but never which key
  • that a paste, an input or a change happened, but never what it held
  • when the window gained or lost focus and when the page was shown or hidden
  • whether the browser says a person caused each of these
An element is a number on its tab, never a selector or anything from the page.

The fingerprint

With data-fingerprint="on", the script reads the tab’s fingerprint once a tab: what the browser reports about itself, such as its display settings, time zone, platform and hardware, how it renders fonts and audio, its window and viewport size, its low-entropy client hints, and whether it says it is automated. It asks the visitor for no permission, so turn this on only for a visitor who has consented.

What is never recorded

  • Bodies. The body of a request or an answer is not recorded. The edge reads an answer meant for agents only to mark its links, and keeps only those links.
  • Other headers and cookies. Authorization, your site’s cookies and any header not listed above are not sent.
  • Query parameters outside your allowlist. They are dropped before anything is sent, on the edge and in the script. Your site still receives them. Agentrail’s own h marker is the exception.
  • What people type. The script reads nothing that is typed, pasted or chosen, nothing of the page itself, and nothing from the clipboard.
  • Addresses and identities in the clear. The edge sends them only as keyed hashes, and a browser step’s address is stored only as one.
A path is recorded as it is. If your paths hold something private, such as an email address, it is recorded with the step.

The hash key

A keyed hash is a one-way hash made with your workspace’s hash key. The same address gives the same hash in your workspace, so two steps can be told apart or matched, and it means nothing in any other workspace. Agentrail makes the key and keeps it, which is how it hashes a browser visitor’s address on arrival. Each edge and server component holds a copy to hash with. If the key leaks, use Replace hash key in Settings · Journeys, then give the new key to every edge and server component. Agentrail forgets the old key. What was hashed with the old key is never compared with what is hashed with the new one, so a step on either side joins a journey only by its session, trace or marker.