Session Replay is a feature on Cisco Digital Experience Monitoring that allows you to see what users do on your website and how users interact with them. 

The Session Replay feature is a module on Cisco Digital Experience Monitoring. If you have any questions on how to subscribe to Session Replay, contact your Account Manager, Customer Success Manager, or visit our AppDynamics Support  portal.

Session Replay Privacy Policy

The Session Replay SDKs are written with privacy first in mind. Privacy first means that we do not record any potentially sensitive data by default. This means that inputs and all page text is not recorded unless you enable it explicitly with the sensitivityRules API. 

Session Replay APIs 

These are the available API parameters:

API ParameterDescription
maskAllText

By default, all text in recording is masked using the * character. Set maskAllText:true and use rules to unmask parts of the page. You can disable this by setting maskAllText to false. If you disable it, all text in the recording becomes visible. If you want to hide part of the page, use sensitivityRules

maskAllInputs

By default, all text in inputs aren't captured and replaced by a typing animation. Meaning, that no data (Nothing) is sent to the backend services. Set maskAllInputs:true and use rules to unmask inputs. You can disable this by setting maskAllInputs to false. If you disable it, all inputs and their values as users are typing will be visible. To hide inputs, use sensitivityRules

sensitivityRules

You can use the sensitivityRules API for granular control on what content is visible and not visible. See SensitivityRules API. 

Example API code snippet

<script>
	window.adrum||(function(d) {
		var o=adrum=function(){ o.api.push(arguments)},h=d.getElementsByTagName('head')[0];
		var c=d.createElement('script');o.api=[];c.async=true;c.type='text/javascript';
		c.crossOrigin='anonymous';c.src='https://cdn.appdynamics.com/adrum-otel/latest/adrum.js';h.appendChild(c);
	})(document);
	adrum('init', {
		appName: "<YOUR-APP-NAME>",
		url: "https://<YOUR-TENANT-NAME>",
		sessionReplay: {
			maskAllText: true,              
			maskAllInputs: true,
			sensitivityRules: [
				{ selector: '.appd-masked', rule: 'mask' },
				{ selector: '.appd-unmasked', rule: 'unmask' },
				{ selector: '.appd-excluded', rule: 'exclude' },
			],
		},
	});
</script>    
CODE

Sensitivity Rules API

The sensitivityRules API lists CSS selectors and rules that specify behavior of masking, unmasking, and excluding content. Rules are applied from an array where later rules re-write previous ones. Rules are always applied to match elements to their respective Document Object Model (DOM) sub-trees.

API Rules Description 
Mask 

The text in the element and the entire sub-tree is obscured. 

UnmaskThis is useful if you want to unmask text in the tree where the root is masked.
Exclude

This means that nothing is recorded. Meaning, no interactions, clicks, content is replaced. This is useful for sensitive content such as payment gateways, images, and other personal information. 

Sensitivity Rules Selectors

You can use any CSS selector and it's recommended to use CSS classes and ID selectors.
Example sensitivityRule selector:

{ selector: '.appd-masked', rule: 'mask' }, 
CODE