Getting Started

Introduction

Installation

API Client

Overview

Make an API Request

Replay request from History

Import from cURL

Inspect Traffic

Overview

Filtering Traffic

Save Session

View Request/Response Details

HTTP Rules (Modify Traffic)

Overview

Redirect URL (Map Local, Map Remote)

Replace Strings (Switch Hosts, API Endpoints)

Modify Headers

Modify Request Body

Modify Response Body

Modify Query Params

Modify Cookies

Modify DOM/Inject scripts

Modify User Agents

Delay Request

Cancel Rule

Organizing Rules

Import/Export Rules from File

Pause/Resume Requestly

Rule Operators

Advance Targeting

Sharing Rules

Map Local

Map Remote

Pinning Rules

GraphQL Support

Edit and Replay

Import Setting from Charles Proxy

Test URL Condition

Mock Server

Overview

Create New Mock API

Test Mock API

Pre-Configured Mocks

File Server

Overview

Create New Mock File

Sessions

Overview

Configure Pages

Record Session

Save Session

Share Session

Replay Recording

Architecture

WorkSpace

Overview

How to get started with Shared Workspace

User Roles

Managing Workspace

© Requestly since 2014-Present

Session Replay Architecture

This document aims to provide an understanding of the architecture of session replay and its security aspects in the Requestly app.

Session replay on a Website

When auto-recording a particular website, the extension adds a JavaScript library in the website - request-web-sdk.js - which observes the mouse movement, console logs, and network logs. The recorded data is locally stored in the page’s context (an in-memory JS variable).

Please note, as soon as the page navigates or refreshes, the local context is cleared by the browser, and data recorded so far is lost. In Network logs, request headers are NOT captured as they are more likely to hold sensitive information like authorization tokens, auth id, session id, resource id, cookies, etc.

Reviewing a Session

Once the session is recorded on the website, you can review it, add details, save online or download the session file locally by clicking on Save . The Requestly UI retrieves the session data and renders the session player and other details.

sequenceDiagram
    participant User
    participant Requestly UI
		participant Requestly Server
    User->>Requestly UI: 1. Click Save recording > Online
		Requestly UI->>Requestly Server: 2. Compress session data and save in DB

While saving the session, you can choose if Console logs and Network logs are to be included in the replay. If not included, they will not be saved on the Requestly server.

Security Aspects

The security of session replay in Requestly is ensured by the following measures:

  1. Local Storage of Data: All session data is stored locally in the page's context. No details of the session are stored on the Requestly server unless explicitly saved online. This data is lost if you click the "Discard" button or close the Requestly UI and website, ensuring that no residual data is left on the server. You can also choose to save session locally using by clicking on Save > Download File.
  2. No Capture of Sensitive Information: The Requestly extension does not capture request headers in network logs, which are more likely to hold sensitive information like authorization tokens, auth id, session id, resource id, cookies, etc. This measure further enhances the security of session replay.
  3. Sync Storage and Firebase: The extension stores the configuration in the browser’s local storage and also on the Requestly server (Firebase), ensuring it is available across all devices or browser instances logged in using the same account. This ensures that the data is securely stored and accessible only to the authorized user.
  4. Requestly is OpenSource tool: Source code is freely available for inspection on GitHub. This transparency allows developers to verify the security measures implemented in the tool, providing an additional layer of trust and security. Please checkout Github for UI code and requestly-web-sdk

Requestly takes several measures to ensure the security of session replay, including local storage of data, not capturing sensitive information, and secure storage of configuration.