IndexedDB
IndexedDB is a database built into web browsers that lets websites and web applications store significant amounts of structured data directly on a user's device. Because it can retain data such as records, objects, and files locally, it is one of the storage mechanisms that may fall within the same consent rules that apply to cookies. Whether its use requires consent generally depends on the purpose of the data stored and the applicable legal regime.
IndexedDB is a low-level, client-side, transactional NoSQL storage API defined by the W3C's Indexed Database API specification. It stores records consisting of keys and hierarchical values (including simple values, structured objects, and files/blobs), and supports indexes for high-performance searching and retrieval of large volumes of data within the browser. From a compliance perspective, IndexedDB is not a cookie but is a form of storing information on, and accessing information from, a user's terminal device; in most EU jurisdictions the ePrivacy Directive's rules on device storage and access apply to such technologies regardless of whether they are literally cookies, and any subsequent processing of personal data would separately engage the GDPR. Consent obligations therefore typically turn on whether the stored data is strictly necessary for a service the user requested (potentially exempt) versus used for analytics, advertising, or other non-essential purposes (generally requiring prior consent under EU law), while opt-out approaches may apply under certain US state privacy frameworks. This definition does not resolve fact-specific questions about a particular deployment, and the classification of any given IndexedDB use depends on its actual purpose and configuration.
Why it matters
IndexedDB matters to compliance teams because cookie consent obligations are not limited to cookies in the strict technical sense. In most EU jurisdictions, the ePrivacy Directive's rules on storing information on, or accessing information from, a user's device apply to a range of client-side technologies, and IndexedDB is a form of storing and retrieving data on the user's terminal. As a result, deploying IndexedDB can trigger the same prior-consent analysis that applies to non-essential cookies, depending on the purpose of the data being stored.
Because IndexedDB can hold significant amounts of structured data, records, objects, and files or blobs, directly in the browser, it can be used for a wide spectrum of purposes, from caching content needed to deliver a service the user requested to storing identifiers or profiles used for analytics or advertising. Where the data serves purposes that are strictly necessary for a user-requested service, its use may be exempt from consent under EU rules; where it supports analytics, advertising, or similar non-essential purposes, prior consent is generally required in the EU. The distinction turns on the actual purpose and configuration of each deployment rather than on the technology itself.
A further consideration is that the ePrivacy analysis (governing device storage and access) and the GDPR analysis (governing any subsequent processing of personal data) are separate. Consent or an exemption under one regime does not automatically satisfy the other. Requirements also differ outside the EU: the UK applies its own implementation, and certain US state privacy frameworks may rely on opt-out rather than opt-in approaches. Teams should therefore assess IndexedDB usage against the specific legal regime that applies to their users.
Who it's relevant to
Inside IndexedDB
Common questions
Answers to the questions practitioners most commonly ask about IndexedDB.