Sees the page, not your users’ data
This page describes exactly what the guide reads, what it never reads, and where it runs. If something here doesn’t answer your security team, ask us and we will add it.
What the guide reads
- The page path, without the query string, and the page title.
- Headings, to understand where the user is.
- Visible interactive elements: their role (button, link, field), their label, and which region they sit in.
- The user’s goal, as typed, and the steps taken so far in this goal.
What it never reads
- Values typed into inputs, text areas and selects.
- The HTML of the page, cookies, local storage or screenshots.
- Anything inside
data-guide-ignore. - Cross-origin iframes and closed shadow roots, which the browser keeps private anyway.
PII masking happens in the browser
Before a request leaves the page, labels are scrubbed: email addresses and long digit sequences (account numbers, phone numbers, card-like numbers) are replaced. The text of any element inside data-guide-private becomes “(private)”.
The server then keeps the guide honest: if the brain answers with an element id that isn’t in the snapshot, the step is turned into a plain message. A hostile label on a page can’t make Pepper point outside that page.
<!-- The guide sees "(private)" instead of the customer's name -->
<section data-guide-private>
<h2>Acme Ltd, account 4419…</h2>
</section>
<!-- The guide does not see this at all -->
<div data-guide-ignore>…</div>Where it runs
Hosted
The widget calls the Wayhint API, which asks Claude for the next step. Prompts hold your site description and the masked snapshot only.
Your infrastructure (planned)
Planned for Business: run the guide API in your own infrastructure. The widget already supports pointing at another API with one attribute, data-api.
Your own model (planned)
The guide API already runs against OpenAI-compatible servers (vLLM, Ollama, llama.cpp). Combined with your own infrastructure, requests would not leave your network.
Controls for site owners
- Origin allowlist: a site key only works on the domains you list.
- Rate limits per route on the API.
- Site keys are public identifiers; there are no secrets in the widget.
- The widget renders in a shadow root and only adds one element to your page.
- Pepper never acts for the user. It points; the user clicks.
Observe mode and the app map
Observe mode is off unless you turn it on. When on, it records the masked page structure and which control led where, with a random id per browser tab and no user identifier. A label is used only after several separate sessions have seen it, so one user’s data on a button never reaches the prompt. Records are kept 90 days by default.
GDPR and compliance status
Wayhint is designed to process as little personal data as possible: no input values, masked labels, no user identifiers in observe mode. Where personal data may still appear in page labels, you control it with the attributes above.
We are in early access. We do not hold SOC 2 or ISO 27001 certification today, and we will say so until we do. A DPA and region choice are planned for the Business plan; our privacy policy is a draft.
Content Security Policy
If your site sends a CSP header, the install guide lists the lines to add for the widget, its 3D model and decoder.
Security questions
Does Wayhint see what my users type?
No. The widget never reads the values of inputs, text areas or selects. It only reads what a control is called, such as "Email" or "Save".
What exactly is sent to the server on each step?
The page URL without the query string, the page title, headings, and a list of interactive elements with a short id, a role, a label and the page region. Emails and long numbers in labels are masked in the browser before the request is made.
Can we run it without sending data to a third-party model?
That is planned for the Business plan: the guide API in your infrastructure, using a model you host through an OpenAI-compatible server. The API already supports such model servers today.
Is Wayhint SOC 2 or ISO 27001 certified?
Not yet. Wayhint is in early access and we will not claim certifications we do not have. We can answer a security questionnaire and share the architecture in detail.
Where is data processed and how long is it kept?
Guide requests are used to produce the next step. Observe-mode records, when a site turns observe mode on, are kept for 90 days by default, and the period is configurable. Written retention terms, region choice and a DPA are being finalised and are planned for the Business plan.
Let Pepper take it from here.
Paste one script tag. Free up to 500 monthly active users. No card, no flows to build.