Under the hood

What Octeasy does in the browser

Light, discreet, cookie-free. Here are the measured figures and the detail, so your technical team and your data protection officer can check everything.
31 Kothe script, gzipped
0 msof page blocking measured
0identifiers: anonymous counters only
0cookies set by the widget

Measured with Lighthouse (simulated mobile) on 3 November 2026, on a live WordPress site.

On load

What happens, step by step

  1. The page displays

    The script is deferred: it waits for the page to be ready and does not hold it up.

  2. The script arrives

    A single 31 KB file, cached for one hour.

  3. One question to the server

    “Which settings for this site?” At most 1.5 seconds, no cookie. Without a site key, this step does not exist.

  4. The button appears

    If the server does not answer: default settings, with no error message for the visitor.

In comparison

One script among ten, the lightest

Weight transferred by the third-party script groups of a real site, and how long each one blocked the page.

Lighthouse measurement, simulated mobile, 3 November 2026. Every site has its own tools: these figures illustrate one real case, not an average.

Requests sent

  • With a site key: a single request to Octeasy to read the settings. No cookie, aborted after 1.5 s.
  • Without a site key: no request.
  • Anonymous usage measurement: once the configuration is received, one count when the page loads and one for each opening of the bubble (five at most). The body contains only the device type; the server infers the browser family and the country, counts, then forgets the IP address. No cookie, no identifier.
  • Never: pixel, third-party measurement tool, identifier, or any upload of what the visitor reads, types or sets.
  • As with any request, the server sees the IP, the browser and the originating domain. Details in the privacy policy.

Stored on the visitor's device

  • No cookies.
  • Local storage (sja:v1): the settings the visitor chose, nothing else. Nothing is written until they change a setting.
  • Session storage: only the "shrunk button" state.
  • This data stays in their browser and is sent nowhere.

Fonts and voices

  • Readable fonts: loaded only if the visitor picks them, from Octeasy (/fonts) when the site has a key.
  • Without a key, they come from the jsDelivr network by default; the data-fonts attribute changes the address or turns it off (false).
  • Read aloud: the device's own voices; the text read never leaves it.

How it fits into your page

Isolation
Interface inside a Shadow DOM: its styles do not touch yours, and the other way round.
At rest
As long as no setting is active, the widget does not change how your page looks.
Updates
One-hour cache: an update reaches every site within the hour.
Pinned version
One address per version (/vX.Y.Z/widget.js) with an integrity hash (SRI).
Action on the page
Through styles and overlays. Neither ARIA attributes nor your page text are changed.
Content added later
Watched (MutationObserver) so settings apply to it too.
Code received from the network
None: no eval, no document.write.
"Powered by" notice
A link: your domain is passed on only if a visitor clicks it.

Octeasy remains a reading comfort tool: see what Octeasy does not do. A specific technical question? Write to us.