Secure Your Front-end

Request a Demo

Join the leading security teams protecting their digital supply chain with CellWall.

By submitting this form, you agree to our privacy policy and terms.

Cookies Aren't the Whole Story: How Browser Tracking Works Without Them

August 1, 2026 | Compliance | 4 Min. Lesedauer

Cookies Aren't the Whole Story: How Browser Tracking Works Without Them
divider

An Empty Cookie Jar Can Still Hide Data Flows

Cookies are visible, familiar, and easy to inspect, so they often become shorthand for every form of browser tracking. That shorthand creates a dangerous blind spot. A website can recognize a browser, preserve state, or transmit behavioral data without creating a traditional cookie.

A meaningful privacy review must follow the complete path: what code executes, what browser capabilities it reads, where it stores state, what identifiers it creates, what requests it sends, and how downstream systems use the result.

Cookie-free is a technical description, not a privacy conclusion
Removing cookies does not automatically remove personal data, identification, profiling, or consent requirements. Evaluate the purpose, data, persistence, recipients, and applicable law for each technology.

The Browser Has More Than One Storage Surface

MechanismWhat it can holdImportant distinction

Cookies

Session state, preferences, identifiers, and tokens

Eligible cookies are attached automatically to matching HTTP requests

Local Storage

Persistent key-value data for an origin

Scripts must read the value and attach it to a request

Session Storage

Key-value data scoped to a page session

Usually disappears when the tab or session ends

IndexedDB

Larger structured datasets and application state

Can store complex records that are not visible in the cookie table

Cache Storage

Responses and assets managed by applications or service workers

May preserve resources and state outside normal HTTP caching views

Service workers

No direct identifier store by themselves

Can intercept requests and coordinate Cache Storage or IndexedDB

Local Storage values are not automatically sent with every request. The privacy-relevant behavior occurs when script code reads a value and includes it in a URL, header, payload, or derived identifier.
InsightDeveloper

Local Storage Can Replace Part of a Cookie's Job

A script can create an identifier in Local Storage, retrieve it on later visits, and include it in analytics or personalization requests. The browser does not place that value into request headers automatically, but the practical result can still be persistent recognition.

Review the key name, value pattern, origin, creation time, reader, business purpose, and outbound requests that use the value. A generic key such as visitor_id is only the beginning of the investigation.

javascript
const readStorage = (storage) => Object.fromEntries( Array.from({ length: storage.length }, (_, index) => { const key = storage.key(index); return [key, key ? storage.getItem(key) : null]; }) ); const databases = await indexedDB.databases(); const cacheNames = await caches.keys(); const registrations = await navigator.serviceWorker.getRegistrations(); console.log({ cookiesVisibleToJavaScript: document.cookie, localStorage: readStorage(window.localStorage), sessionStorage: readStorage(window.sessionStorage), indexedDB: databases, cacheStorage: cacheNames, serviceWorkers: registrations.map((item) => item.scope), });
A console inventory is incomplete
The snippet cannot see HttpOnly cookies, storage inside every cross-origin frame, all partitioned state, request payload history, or downstream server processing. Use it as a starting point alongside DevTools and server-side evidence.

Pixels and Beacons Can Send Data Without Storing It

A tracking pixel is often a tiny image request whose URL carries event information. JavaScript can also transmit data through fetch(), XMLHttpRequest, form submissions, WebSockets, or navigator.sendBeacon(). None of these mechanisms must create a new cookie to send the page URL, referrer, campaign data, event details, or an identifier obtained elsewhere.

Request details

  • Destination hostname, path, method, resource type, and redirect chain.
  • Query parameters, request body, custom headers, and response-set cookies.
  • Whether the request occurs before consent, after rejection, or only after an approved choice.

Event context

  • The page, interaction, form, or navigation that initiated the request.
  • Whether the same event is sent through several vendors or first-party endpoints.
  • Whether retries, batching, or page-unload behavior creates delayed transmissions.

Identifier sources

  • Values read from cookies, Local Storage, IndexedDB, the URL, or application state.
  • Account, order, campaign, device, or session identifiers supplied by the site.
  • Values generated by the third party during the current page visit.

Consent behavior

  • Which purpose and category authorize the request.
  • Whether the request changes when consent is denied.
  • Whether withdrawal stops future sends from already loaded code.

Link Decoration Carries Identity Through the URL

Links can include campaign parameters, click identifiers, affiliate codes, or other values that connect one visit to another. The destination can read those values from the URL and store or forward them through a different mechanism.

Inspect landing URLs, redirect chains, history changes, and links rewritten after page load. Pay particular attention when identifiers move between domains or appear in URLs that can enter browser history, referrer headers, analytics logs, screenshots, or support tickets.

Search captured requests for values, not just vendor names. The same identifier appearing in a URL, Local Storage entry, and outbound payload can reveal a tracking chain that each artifact alone would miss.
InsightAnalyst

Fingerprinting Uses Signals Instead of a Stored ID

Fingerprinting attempts to distinguish a browser or device using a combination of observable characteristics. Potential inputs can include platform details, language, time zone, screen properties, supported features, graphics behavior, font availability, media capabilities, and network characteristics.

A browser API call is not automatically fingerprinting
Many applications use device and capability information for legitimate functionality, compatibility, fraud prevention, or accessibility. Investigate the combination of signals, purpose, persistence, recipients, and resulting identifier before assigning a conclusion.
ObservationQuestion to ask

Many device characteristics collected together

Is the combination used to distinguish or score a browser?

Canvas, graphics, audio, or font probing

Does the use support a visible feature, or does it produce a stable signature?

A derived value sent to a remote service

Can it link sessions, devices, accounts, or activity over time?

Collection occurs before a consent choice

What purpose and legal basis authorize the behavior?

Signals change after rejection

Is the technology reducing data, or does recognition continue through another path?

Service Workers Can Outlive a Single Page

A service worker can intercept requests for pages within its scope, serve cached responses, receive messages from pages, and coordinate background behavior supported by the browser. It can work with Cache Storage and IndexedDB, so clearing cookies alone may leave other application state intact.

Check the service worker's script URL, scope, owner, registration timing, controlled pages, cache names, network behavior, and unregister path. Do not remove a legitimate worker merely because it exists. Progressive web applications and offline features often depend on one.

First-Party Collection Can Hide Downstream Vendors

A browser may send an event to your own domain while a server, tag gateway, or edge worker forwards it to another provider. From the browser, this can look like first-party traffic even though additional recipients process the event downstream.

Browser-side evidence

  • First-party collection endpoints and the events sent to them.
  • Identifiers, account data, page context, and consent signals in each payload.
  • Scripts or tags responsible for creating the request.

Server-side evidence

  • Forwarding rules, tag-gateway destinations, queues, and event transformations.
  • Providers receiving the data after the browser request completes.
  • Retention, access, deletion, and consent enforcement in downstream systems.

Governance evidence

  • Owner, purpose, legal basis, vendor agreement, and approved data fields.
  • How revocation or deletion requests propagate to recipients.
  • How changes to forwarding configuration are reviewed and monitored.

Disclosure evidence

  • Whether notices describe the purposes and relevant recipients.
  • Whether consent categories match the actual downstream use.
  • Whether the cookie list incorrectly presents a complete picture of tracking.

Audit Tracking Beyond Cookies

1

Create a clean test state

Clear site data, unregister service workers when appropriate for the test, disable extensions, and record browser privacy settings.
2

Observe before consent

Capture cookies, Web Storage, IndexedDB, Cache Storage, service workers, scripts, requests, redirects, and URL changes before interacting with the dialog.
3

Exercise each choice

Test rejection, individual categories, acceptance, withdrawal, navigation, and return visits independently.
4

Connect reads to sends

Trace which scripts read browser state or capabilities and whether related values appear in outbound requests.
5

Follow first-party endpoints

Review server-side forwarding and downstream recipients that the browser cannot reveal directly.
6

Compare with policy

Map every observed mechanism to its owner, purpose, category, legal assessment, disclosure, retention, and response procedure.
Ask for a browser data-flow inventory, not only a cookie inventory. Ownership should cover storage, scripts, browser capabilities, destinations, server-side forwarding, and consent behavior.
InsightCISO

What Your Consent Tests Should Assert

Storage controls

  • Controlled Local Storage, IndexedDB, and Cache Storage remain absent before the required choice.
  • Rejected categories do not create or refresh their identifiers.
  • Return visits apply the saved choice before controlled code initializes.

Transmission controls

  • Controlled pixels, beacons, fetches, frames, and WebSocket connections obey the consent state.
  • Cookieless requests are classified and tested explicitly rather than ignored.
  • URL identifiers and redirect parameters do not bypass the approved category.

Capability controls

  • High-risk browser API access matches an approved purpose and consent state.
  • New combinations of device signals trigger review.
  • Service-worker behavior and scope remain within the approved baseline.

Downstream controls

  • First-party collection endpoints receive only approved fields.
  • Consent state travels with events when downstream systems require it.
  • Server-side forwarding stops or changes when the visitor withdraws consent.

Common Blind Spots

Blind spotWhy it fails

Checking only document.cookie

It misses HttpOnly cookies and every non-cookie mechanism

Searching only for known vendor domains

First-party collection and new dependencies can hide recipients

Treating no storage as no tracking

Pixels, beacons, fingerprinting, and event forwarding may not persist state locally

Clearing cookies between tests

Local Storage, IndexedDB, caches, and service workers can survive

Reviewing only the first page load

Client-side navigation and delayed events can activate different behavior

Trusting the cookie policy as the inventory

Documentation can lag behind production code and vendor configuration

Where SiteWall and CookieWall Fit

SiteWall helps inventory browser resources, providers, capabilities, and network behavior. CookieWall helps connect visitor choices to consent categories and tag behavior. Together with manual and automated testing, these controls can provide a broader view than a cookie table alone.

Featured Product

See More Than the Cookie Table

Use SiteWall to investigate the scripts, browser capabilities, dependencies, and destinations operating across real website sessions.

Explore Product

Frequently Asked Questions

Can a website track visitors without cookies?

Yes. Depending on the implementation, recognition or behavioral data can involve Web Storage, IndexedDB, link identifiers, pixels, beacons, account identifiers, fingerprinting signals, or server-side event forwarding.

Is Local Storage a cookie?

No. Local Storage is a separate origin-scoped key-value mechanism. Its values are not automatically attached to HTTP requests, but scripts can read and transmit them.

Do tracking pixels always set cookies?

No. An image or beacon request can transmit event and page information without writing a new cookie. Existing identifiers may still be included through the URL, request headers, or script-generated payloads.

Is cookieless tracking automatically compliant?

No. Compliance depends on the purpose, data, identifiability, recipients, transparency, legal basis, consent rules, and jurisdiction. The absence of a cookie does not settle those questions.

Does clearing cookies remove every identifier?

No. Other state may remain in Local Storage, IndexedDB, Cache Storage, service workers, application accounts, URLs, or server-side systems. Test and document each relevant mechanism.

How can I detect browser fingerprinting?

Look for scripts collecting many device or browser characteristics, especially when they derive and transmit a stable value. Review purpose and context because individual capability checks can also support legitimate functionality.

Can DevTools reveal server-side tracking?

DevTools can show the browser's request to a first-party collection endpoint, but it cannot reveal every downstream transfer. Review gateway, server, edge, and vendor configuration to complete the data flow.

Follow the Data, Not the Label

Cookies remain an important part of browser privacy testing, but they are one mechanism among many. A complete review connects storage, code execution, browser capabilities, network activity, URL state, and downstream processing.

Expand consent tests beyond the cookie table and verify the actual behavior associated with every visitor choice. That is how teams find the data paths a banner or policy inventory can miss.

Secure Your Front-end

Request a Demo

Join the leading security teams protecting their digital supply chain with CellWall.

By submitting this form, you agree to our privacy policy and terms.

Cookies Aren't the Whole Story: How Browser Tracking Works Without Them