Getting started
AnyReplay Documentation
Install AnyReplay on a website or React Native app, record your first session, and learn the options, limits and privacy controls of both SDKs.
AnyReplay records what people do in your web or React Native app and plays it back in your dashboard. A reviewer can then translate the recorded interface into the language they read, so a session recorded in Turkish can be followed in English. These docs cover installing the recorder, the options it takes, what it sends and what it refuses to send.
Every SDK, one dashboard
| Package | For | Install |
|---|---|---|
@anyreplay/browser | Websites and web apps. DOM recording built on rrweb, about 35 KB gzipped. | Script tag or npm |
@anyreplay/react-native | React Native and Expo apps. Records the element tree, not screenshots. | React Native or Expo |
anyreplay_flutter | Flutter apps on iOS and Android, from pub.dev. Reads the screen as words and boxes, never screenshots. | Flutter |
@anyreplay/capacitor, @anyreplay/cordova | Ionic, Capacitor and Cordova apps: the browser SDK plus what only the app shell knows. | Capacitor or Cordova |
@anyreplay/electron | Electron desktop apps, recorded window by window with the browser SDK. | Electron |
@anyreplay/tauri | Preview. Tauri desktop apps, the same way. | Tauri |
Every npm package is version 0.3.0 and the Flutter package is 0.2.0; all are MIT-licensed, and their source is public at github.com/baemtech/anyreplay-sdk. They send recordings to the same ingest service, into the same projects, and the sessions appear in the same list. The Tauri package is a preview: it is on npm and its guide is here, but the setup page does not offer it until we have tested it on a device.
Where to start
- New to AnyReplay? Follow the quick start: create a project, paste a snippet, watch the first session.
- Want to know what is recorded? Read how recording works before you install anything on a production site.
- Using a framework? There are guides for Next.js, React with Vite, Vue and Nuxt and single-page apps in general.
- Handling personal data? Start with masking and blocking and consent.
- Nothing showing up? Go straight to no sessions arriving.
Safe by default
A few things are true without any configuration, and the rest of these docs assume them:
- Passwords, payment fields and anything shaped like a card number are masked in the page, in every configuration; no option records them. Other field values are recorded unless you turn masking on — see masking and blocking.
- The project key in your page is public by design. What stops someone else from writing to your project is the list of allowed domains on the project, which the ingest service checks against the browser-set
Originheader. - The recorder never throws into your page or crashes your app. If something goes wrong it stops recording and, with
debug: true, says why in the console. - Recorded pages replay inside a sandboxed iframe that cannot run scripts, so a recording cannot execute code in the dashboard.
Plans and limits in one paragraph
The free plan allows one project and 500 sessions a month. Every plan meters sessions and recording hours; when either is used up, new sessions are refused until the next calendar month (UTC) while sessions already in progress finish. You can also cap a project yourself. See session caps, ingest responses and pricing.