Default Privacy Protections
Out of the box, Proliferate:- Masks all input values: Form fields show
•••••instead of actual values - Only sends on error: Replay data is never transmitted unless an error occurs
- Stores locally first: Data stays in the browser until needed
Input Masking
All form inputs are masked by default:<input>fields (text, email, password, etc.)<textarea>elements<select>dropdowns (value is masked, not options)- Contenteditable elements
CSS Class-Based Controls
Use CSS classes to control privacy on specific elements:Block Elements Entirely
Elements with theblockClass are completely excluded from recording:
Ignore Input Recording
Elements with theignoreClass have their input events ignored:
Mask Text Content
Elements with themaskTextClass have their text content masked:
Configuration Options
Controls whether all inputs are masked. Set to
false only if you have specific inputs that should be visible and are confident they don’t contain sensitive data.Controls whether canvas elements are recorded. Disabled by default because it’s computationally expensive and canvas content can contain sensitive data.
Combining Privacy Controls
You can use multiple controls together:GDPR and Privacy Compliance
Session Replay is designed to support privacy regulations:Data Minimization
Data Minimization
- Only records what’s necessary for debugging
- Masks sensitive data by default
- Doesn’t capture data outside the app
Right to Erasure
Right to Erasure
- Contact support to delete replay data
- Data is automatically deleted after retention period
Consent
Consent
If your privacy policy requires explicit consent for session recording:
Best Practices
1
Identify Sensitive Elements
Audit your application for:
- Payment forms
- Personal information (SSN, ID numbers)
- Authentication flows
- Medical or financial data
- Private messages
2
Apply Appropriate Classes
3
Test in Development
Enable replay in development to verify masking works:
4
Review Replays Regularly
Periodically review actual replays to ensure:
- Sensitive data isn’t accidentally visible
- Masking is working correctly
- No new sensitive elements need protection

