// Platform — Privacy & security
Private by default. Only what you need.
Inputs are masked before they leave the page, data is scrubbed server-side, and every customer's data stays isolated to its own tenant.
Masked on the page
Everything typed is masked by default — you opt fields out, not in. Passwords, cards and one-time codes are hard-blocked. What never leaves the browser can never leak.
Scrubbed on the server
Captured payloads are scrubbed again on ingest, and the AI only ever sees a size-budgeted, scrubbed slice.
Isolated per tenant
Every token is scoped to one project, encrypted in transit and at rest. A cross-tenant ID doesn't error — it simply doesn't exist.
// You draw the lines
Redact anything.
Beyond the defaults, you decide what Rebase can see. Mark any element with a single data attribute and it never appears in a capture — not in the screenshot, not in the context.
- Masked before memory — values become • before the buffer, and in screenshots
- data-rebase-mask, data-rebase-block and data-rebase-unmask
- Honors the masking you set for Hotjar, FullStory, Sentry or PostHog
What Rebase actually sees
redacted before anything leaves the page
// The boring guarantees
In writing, not in spirit.
No session video, no DOM replay, no keystroke log — capture is a bounded rolling buffer, not a recording of your users. And the paperwork is live: privacy policy, terms, DPA, subprocessor list, cookie policy, AI policy and a compliance guide.
- Encrypted in transit and at rest — never used to train models
- Response bodies are never captured; request bodies are opt-in
- Screenshots re-encoded server-side, served via 10-minute signed URLs
// The details
The privacy posture. At a glance.
- Passwords, card numbers and one-time codes are hard-blocked
- Everything typed is masked by default — opt out, not in
- Redact anything else: data attributes plus a selector list
- Hard tenant isolation — a cross-tenant ID is a 404
- Screenshots deleted after 90 days, served via signed URLs
- Passwordless sign-in: a 6-character code, 15-minute life, 5 attempts
- Rotating refresh tokens that detect theft and burn the chain
- An isolated shadow root that fails closed on malformed auth
Frequently asked questions
All data is encrypted in transit and at rest, and we never train models on your data. Sign-in is passwordless, access tokens live 15 minutes in memory, and nothing rides on cookies — so classic CSRF doesn't apply.
No. There is no session video, no DOM replay and no keystroke log. Capture is a bounded rolling buffer — the last 50 events, errors and requests — merged into a session timeline.
Everything typed is masked by default and sensitive fields are hard-blocked. Beyond that, data-rebase-mask masks any element, data-rebase-block drops a whole subtree, and a selector list covers the rest — it never appears in a capture or a screenshot.
Twice. Values are masked in the browser before they ever enter the capture buffer, and payloads are scrubbed again server-side before storage. The AI sees only a size-budgeted, scrubbed slice.
Start shipping feedback faster.
Start your 7-day free trial.