Session Replay and Bring Your Own Bucket
Capture screen recordings around endpoint exfiltration events and store them in your own cloud bucket.
Session Replay (shown in the console as Record Before & After) captures the user's screen around an endpoint exfiltration event so investigators can review what happened. You can store those recordings in a cloud bucket that your organization owns.
This capability is available for macOS and Windows endpoint policies.
How it works
Enable Session Replay for your organization in Endpoint settings.
Connect a storage bucket (or use Nightfall-managed storage, if it is enabled for your account).
Turn on Record Before & After on each endpoint exfiltration policy that should capture recordings, and choose the storage destination.
When that policy detects an exfiltration event, Nightfall records the screen for a window before and after the event and writes the recording to the selected bucket.
Open the event in Nightfall to play the recording.
If an event matches more than one policy with recording enabled, Nightfall can write the recording to each policy's selected bucket.
What is supported
Platforms
macOS and Windows
Policies
Endpoint exfiltration policies
Triggers
Any endpoint trigger that produces an exfiltration event, including browser uploads, clipboard paste, desktop apps, cloud sync, removable media, print, and Git push
Enforcement
Works with monitor, warn, and block policies
Storage
Amazon S3, Google Cloud Storage, and Azure Blob Storage
Nightfall-managed storage
Available when Nightfall has enabled it for your account
Displays
Multiple monitors
Playback
Exfiltration event Replay view, including timeline controls and event markers
On macOS, the Nightfall agent requires Screen Recording permission to capture recordings.
What is stored in your bucket
Your bucket stores the session recordings captured around matching exfiltration events.
Nightfall writes a recording when a policy with Record Before & After enabled is triggered. The recording covers the configured window before and after the event.
Nightfall recommends enabling encryption on the bucket (for example, AWS SSE-KMS, Google CMEK, or Azure customer-managed keys). Encryption is a best practice and is not required to connect the bucket.
Requirements
The Nightfall endpoint agent is installed and connected on the device.
Session Replay is enabled in Endpoint → Settings.
A storage destination is available: a connected customer bucket, or Nightfall-managed storage if it is enabled for your account.
The Nightfall user who connects buckets has bucket management access.
The Nightfall user who plays recordings has screen recording access.
On macOS, Screen Recording permission is granted to the Nightfall agent.
Enable Session Replay
Turn on Session Replay for the organization
In Nightfall, open Endpoint.
Open the Settings tab.
Enable Session Replay / Record Before & After.
Review Snapshot Frequency (every 1–5 seconds) and the Recording Window shown for the time before and after an event.
Snapshot frequency is configured at the organization level and applies to policies that have recording enabled.
Connect a storage bucket
Go to Settings → Storage Buckets.
Click Connect Bucket (or use the command palette and search for Connect Bucket).
Choose Amazon S3, Google Cloud Storage, or Azure Blob Storage.
Complete the cloud setup for that provider, then enter the connection details in Nightfall.
Nightfall validates access (write, read, and delete) before saving the bucket.
A successful connection may still show a warning if the bucket's lifecycle policy could remove recordings earlier than 180 days. You can continue and adjust the lifecycle policy in your cloud console.
Bucket statuses:
Active — Nightfall can store recordings.
Inactive — Access failed a health check. Use Reconnect after you restore permissions.
Disabled — The destination is turned off for the account.
You cannot delete a bucket that is still selected on a policy. Remove it from those policies first.
Enable recording on the policy
Create or edit an endpoint exfiltration policy.
On the Automated Actions step, enable Record Before & After.
Under Storage Destination, select the bucket for this policy.
If Nightfall-managed storage is available, you can keep Use Nightfall-managed storage (default) selected instead of a customer bucket.
Save the policy.
The policy toggle is available only after Session Replay is enabled for the organization. If no customer bucket is connected and Nightfall-managed storage is not available, connect a bucket before you save the policy.
View a recording
Open Exfiltration Prevention and select an event.
On the event summary, click Replay.
Use the timeline to move through the recording. If the device has more than one display, switch between monitors in the player.
If the recording is still arriving from the device, the player shows that screenshots are still uploading. Refresh the event after a few minutes.
Connect Amazon S3
Nightfall accesses the bucket with a cross-account IAM role. No long-lived access keys are stored.
What you enter in Nightfall
Bucket name
Name of the S3 bucket
IAM Role ARN
Role Nightfall assumes to access the bucket
External ID
Filled automatically with your Nightfall Company ID
Create an IAM policy that grants Nightfall access to the bucket. Replace YOUR_BUCKET_NAME and, if you use SSE-KMS, YOUR_KMS_KEY_ARN.
If the bucket does not use KMS, you can omit the KMSAccess statement.
In the AWS IAM console, create a role.
Trusted entity: AWS account → Another AWS account.
Account ID:
053737762392(Nightfall).Enable Require external ID and paste the External ID shown in Nightfall (your Company ID).
Attach the IAM policy from the previous tab.
Copy the role ARN into Nightfall and connect the bucket.
Connect Google Cloud Storage
Nightfall accesses the bucket by impersonating a service account in your Google Cloud project.
What you enter in Nightfall
Bucket name
Name of the GCS bucket
Service account email
Service account Nightfall impersonates
Create a GCS bucket in your project.
Create a dedicated service account (for example,
nightfall-dlp-worker@YOUR_PROJECT.iam.gserviceaccount.com).Grant that service account Storage Object Admin and Storage Legacy Bucket Reader on the bucket.
Grant the service account permission to sign requests (
roles/iam.serviceAccountTokenCreatoron itself).Allow Nightfall's hub service account to impersonate your service account:
If the bucket uses a customer-managed encryption key, grant the Cloud Storage service agent Cloud KMS CryptoKey Encrypter/Decrypter on that key.
Enter the bucket name and service account email in Nightfall and connect the bucket.
Connect Azure Blob Storage
Nightfall accesses the container with federated identity. No long-lived secrets are exchanged.
What you enter in Nightfall
Storage account name
Azure storage account
Container name
Blob container for recordings
Tenant ID
Microsoft Entra tenant ID
Client ID
Application (client) ID of the identity Nightfall uses
Subscription ID and Resource group
Optional. Include these if you want Nightfall to check lifecycle policies
Create a storage account and a container for recordings.
Create a managed identity or app registration and add a federated credential. Nightfall provides the OIDC issuer, audience, namespace, and service account values during setup.
Grant the identity Storage Blob Data Contributor and Storage Blob Delegator on the storage account.
Optionally grant Reader on the storage account so Nightfall can check lifecycle policies.
If you use customer-managed keys, grant Key Vault Crypto Service Encryption User on the key.
Enter the values in Nightfall and connect the bucket.
Troubleshooting
Record Before & After is disabled on the policy
Enable Session Replay in Endpoint → Settings.
Nightfall asks you to connect a bucket before saving
Connect a bucket in Settings → Storage Buckets, or select Nightfall-managed storage if it is available.
Bucket is Inactive
Restore write, read, and delete access in your cloud account, then use Reconnect. Recordings may not store correctly while the bucket is inactive.
macOS devices are not producing recordings
Confirm Screen Recording permission is granted to the Nightfall agent.
Player says screenshots are still uploading
Wait for the post-event window to finish, then refresh the event.
Player cannot load the recording
Confirm the bucket is Active and that lifecycle rules have not removed the recording.
You cannot delete a bucket
Remove the bucket from every policy that uses it as the storage destination, then delete it.
Was this helpful?