Free account
CIPA § 631 Risk

Is FullStory legal in California?

Session Replay · Updated 2026

FullStory captures detailed session recordings including keystrokes and form interactions, and lets teams replay a visitor's entire session. Whether a particular implementation is lawful depends on its configuration, the information transmitted, disclosures, consent, and other facts. A request observed before a recorded consent choice is a technical signal to investigate, not a legal conclusion.

Is this tracker on your site? Find out free in 30 seconds.

Real browser scan, no signup to run it. You see a summary of the findings; the full report with every tracker unlocks with your email.

Why FullStory can trigger CIPA claims

California's Invasion of Privacy Act (CIPA), Penal Code § 631, addresses specified forms of interception and related conduct. Plaintiffs have asserted that some website session-replay, chat, and pixel implementations fall within the statute when they capture interactions without valid consent. Courts assess the statute's application to the particular parties, data flow, timing, and other facts. FullStory captures detailed session replays including keystrokes and form interactions — high-exposure under CIPA when recording before consent.

CIPA § 637.2 authorizes statutory damages of up to $5,000 for a qualifying violation. Plaintiffs may argue that multiple sessions support multiple counts; RegSentry does not determine whether a violation occurred or predict recoverable damages.

Real-world enforcement

The California Attorney General reached a $1.2M CCPA settlement with Sephora over allegations involving sale disclosures and opt-out (Global Privacy Control) signals. That was a CCPA enforcement action, not a session-replay or CIPA case. Separately, private CIPA complaints involving session-replay and chat tools have named businesses in several industries. Those matters arise under different laws and facts and should not be treated as proof that a particular technical finding is unlawful.

How to reduce consent-timing risk involving FullStory

  1. Delay FullStory initialization until your CMP confirms consent. Do not place the FS snippet directly in <head>.
  2. Enable 'Private by Default' / element exclusion so PII fields are masked (fs-exclude, fs-mask classes).
  3. If using the @fullstory/browser package, call init() from your consent callback rather than at app bootstrap.
  4. Re-scan with 'Verify fix' to confirm no requests reach *.fullstory.com pre-consent.

Consent-gating snippet

import { init } from '@fullstory/browser';
// Call only after consent — not at module load.
cmp.onConsent('analytics', () => init({ orgId: 'YOUR_ORG_ID' }));

FullStory's official privacy/consent documentation →

Check your own site

RegSentry runs a browser against authorized public pages and records when supported FullStory and other third-party requests are observed relative to the test's consent state. Where supported, test-generated form interactions can help show the technical data flow. The scan does not decide whether a provider intercepted a communication or whether applicable law was violated.

Is this tracker on your site? Find out free in 30 seconds.

Real browser scan, no signup to run it. You see a summary of the findings; the full report with every tracker unlocks with your email.

← See all tracker compliance guides