Replayfy is private by default: text inputs are redacted before anything leaves the
device. You control exactly what’s captured on top of that — per element, per
region, or globally — and dashboard settings override your in-code config, so you
can tighten masking without shipping a new build.
Mask everything at once
Turn on maskAllInputs (on by default on web) to redact the value of every input:
Web
iOS
Android
React Native
Flutter
Mask specific elements
Web
iOS
Android
React Native
Flutter
Add rpf-mask to redact an element’s text/value, or rpf-block to blank the whole element (great for third-party embeds):Customize the selectors with maskTextSelector and blockSelector in config. Occlude any view’s region (SwiftUI), and choose how masked regions render:replayOcclude(blockGestures:) also suppresses taps on the masked region. Tag views to mask them, or mask whole screens — see the Android SDK page for view-level masking. Wrap anything sensitive in <ReplayMask>: Wrap sensitive widgets in ReplayMask, and set the global style:
Masking happens on-device, before capture — masked content is never transmitted or stored. There’s no way to un-mask it later, so err toward masking anything sensitive.