“Runs locally” describes where computation happens. It does not mean a website never contacts a server. A useful privacy explanation separates the conversation path from loading the website and opening external resources.

In ReLU.chat, question processing and answer assembly happen in the browser. The website still needs to deliver HTML, JavaScript, styles, knowledge content, and optional model files.

Follow one question

The browser tokenizes or embeds the question, ranks local knowledge entries, chooses an answer plan, and renders stored fragments. This path does not require sending the text to a chatbot API.

The distinction is testable: inspect requests while submitting a distinctive test question. Compare request bodies, query strings, and WebSocket activity with the text you entered. Also inspect scripts that can initiate their own network activity.

A page’s privacy statement should describe its actual behavior. “No conversation is sent to a chat service” is a more specific claim than “no data ever leaves your device.”

Loading is still communication

A page request exposes ordinary connection information to the hosting infrastructure. Downloading a model reveals a request for that model resource. External links connect to their destinations when followed, and remotely embedded resources can contact another host as soon as they load.

ReLU.chat’s current chat interface uses local assets and explicit source and product links. Optional enhanced matching downloads about 22 MB and caches it. A visitor can use basic keyword matching without choosing that enhancement.

Storage is a separate question

Local storage can persist even when nothing is uploaded. The chat session is kept in memory; exporting a conversation creates a text file on the user’s device. Public knowledge embeddings may be cached in IndexedDB, while asset responses may be cached by the service worker and browser.

A browser profile shared with someone else has a different privacy boundary from a personal profile. Clearing site data or using a fresh profile changes available caches, and private browsing can restrict storage behavior.

Offline is conditional

A previously loaded page can work offline only if its required assets are available. An uncached chatbot or an optional model that was never downloaded cannot be reconstructed from an offline badge.

Test by loading a chatbot, disconnecting, reloading it, and submitting a question. Then try a route never visited before. Those are different cases and should have different explanations when assets are missing.

Prefer a clear boundary

Local processing reduces the need to transmit conversation text. It does not automatically settle hosting logs, external destinations, browser extensions, shared devices, or every storage question. Describe each boundary accurately and make optional downloads visible.

See how ReLU.chat works, the web-platform chatbot, and MDN’s service-worker documentation.