Skip to content

IndexedDB

IndexedDB is a database built into web browsers that lets a site store large amounts of structured data on the visitor's own device. It works asynchronously, keeps objects with indexes, and stores data separately for each site.

Last updated November 8, 2026

  1. Readable on your devices only.

    Your conversation is readable on your device, and on your other devices if you sync them. Nowhere else.

  2. Unreadable to us.

    Your message passes through without being written down; your chats are only ever stored encrypted.

  3. The model doesn’t know you.

    It gets the question, never your email, your account or your IP address.

  4. Nothing is left along the way.

    The reply comes back and is stored here, encrypted; even when you sync, your key never reaches us in the clear.

How a conversation travels on NeverNo. The details are on the transparency page.

How it works

A browser offers several places to keep data. Cookies are tiny and travel to the server with each request. localStorage holds small strings and works synchronously, so heavy use can slow a page. IndexedDB is the one meant for real volume: it stores JavaScript objects, photographs, audio clips and other binary data, supports indexes for fast lookups and transactions that either complete or leave nothing half written, and runs in the background so the page stays responsive. Reads and writes return promises or fire events instead of blocking, which suits big imports and long lists. Libraries such as Dexie make its programming interface easier to use. Typical uses are offline mail clients, note-taking tools, map tiles, game saves and drawing apps.

Storage is tied to the site's origin, so another site cannot read it. That is not the same as secret. By default the data is not encrypted: anyone with access to the browser profile on the device, or any script that runs on the same site, can read it. The quota is shared by everything a site stores and varies with the browser and the free disk space. Private browsing windows typically erase everything when closed, and some browsers cap how much a site may write. The browser may also remove it, for example when you clear site data or when disk space runs low and the site has not asked for persistent storage.

That is why serious local apps add their own protection. The Web Crypto API lets a page generate a key and mark it non-extractable, which means the page can encrypt and decrypt with it but no script can read its bytes. Content is encrypted before it is written to IndexedDB and decrypted only to be displayed; sealing each record separately keeps one corrupted entry from spoiling the rest. This protects against someone copying the files from a lost laptop, though not against malicious code that runs inside the page itself, which is why a strict security policy on the site matters too.

In NeverNo

Everything you create on NeverNo lives in an IndexedDB database called neverno, in this browser only: conversations, messages, folders, images, videos and sounds, characters you create, memory and the documents of your private vault. On first use, the browser creates a non-extractable AES-256-GCM key, which stays in the keys table of the same database and never leaves the device. Each piece of content is encrypted on its own, with a random vector, so there is no single file to open. Opening the Application tab of the developer tools shows the database and its tables, with the sealed fields appearing as unreadable ciphertext.

A few markers stay readable so that conversations can be sorted and found without decrypting everything: ids, dates and the model used. An ephemeral chat is never written to the database at all. Erasing everything in Settings, or clearing the site's data, deletes the database and the key. Qwen 3.5 35B from Alibaba, free on NeverNo, reads images and lets you choose whether it reasons; its replies reach your browser, where your history is encrypted and stored.

Worth remembering

  1. It stores large structured data in the browser, with indexes and transactions, without freezing the page.

  2. Isolation is per website, but encryption is not automatic: protection must be added.

  3. A non-extractable key lets an app encrypt content while no script can read the key itself.

  4. Clearing site data deletes the database, so keep an export or a backup.

Frequently asked questions

Is IndexedDB the same as localStorage?

No. localStorage holds short strings synchronously; IndexedDB handles structured objects and files in bulk, with indexes and transactions. NeverNo puts history in IndexedDB and only a few interface preferences, in plain text, in localStorage.

Is data in IndexedDB safe from other websites?

Yes: a site reads only its own database. Someone using the same browser profile is another matter, which is why NeverNo encrypts each item before storing it, under a key the browser refuses to export.

How do I get my NeverNo data out of the browser?

Export the history as a readable file, create a backup sealed with a passphrase, or enable encrypted sync with an account. Without one of these, clearing the site's data deletes database and key for good.

Ask your first question

No account and no card. Write in any of the 10 languages NeverNo speaks.

Open the chat