Lumeo

Privacy policy

Short version: this site is hosted on Cloudflare Pages, serves static HTML + a Blazor WASM bundle, and does not use cookies or tracking by default. You can opt in to anonymous usage analytics below.

What we store locally

The following use your browser's localStorage (not cookies, so they never travel to a server):

  • lumeo:consent:v1 — your consent choices from the banner.
  • lumeo:theme / lumeo:theme-mode — remembered color theme + light/dark preference.

These are strictly necessary for the site to remember what you picked and don't require consent.

Analytics (optional)

When you allow "analytics" in the consent banner we load Cloudflare Web Analytics. It's cookie-free, sends no cross-site data, and reports only aggregate page views / load times for lumeo.nativ.sh. We use it to see which components people actually look at so we know where to invest docs + polish effort.

If you decline, no analytics script ever loads.

What happens on Cloudflare's edge

Like any web host, Cloudflare keeps short-lived request logs for abuse prevention and DDoS mitigation. These include IP, user agent, and request path; retention is 24h to 7d depending on the plan. See Cloudflare's privacy policy.

Third parties

We don't embed Google Analytics, Meta Pixel, Hotjar, Segment, or any ad/retargeting tags. Our web fonts and the charting engine (Apache ECharts plus its LiquidFill / WordCloud plugins) are self-hosted, version-pinned, from this same origin — so viewing a page that uses them calls home to no one.

Before you consent, plain documentation navigation contacts no third party at all, with a single exception: the customizer's "Share preset" feature posts to api.lumeo.nativ.sh (our own Cloudflare Worker), and only when you actually use it.

A handful of interactive component demos, however, pull a resource from a third-party origin the first time you open that page — a JavaScript library, or an image / audio / map-tile asset used purely to illustrate the component. This is a functional dependency of the demo (not analytics or tracking), but it is still a third-party request that can happen before you make any consent choice, simply by visiting that page:

  • The Map and Map Popup demos fetch MapLibre GL from unpkg.com and then render CARTO basemap styles + tiles from basemaps.cartocdn.com; the Map routing demo also queries router.project-osrm.org for a driving route.
  • The PDF Viewer demos fetch Mozilla pdf.js from cdn.jsdelivr.net.
  • The Scheduler (FullCalendar) and Code Editor (CodeMirror) demos import from esm.sh.
  • Several presentational demos embed sample media straight from a third-party host: the Image demos use picsum.photos, the Avatar demos load GitHub avatar images from github.com, the Image Compare, Audio Player and some pattern pages use Unsplash photos from images.unsplash.com, the Rich Text Editor uses placehold.co, and the Audio Player also streams a sample clip from kozco.com.
  • The docs search box can import algoliasearch from esm.sh, but only when Algolia credentials are configured and the built-in local index finds no match — otherwise search never leaves your browser.

The complete, machine-generated inventory lives on the CDN dependencies page. Every one of these URLs is overridable, so a deployment can self-host them and contact no CDN at all — which is exactly what this site already does for ECharts.

If you opt into analytics, the Cloudflare Web Analytics beacon is then loaded from static.cloudflareinsights.com — a third-party request that happens only after, and because of, that consent. Decline and no such request is ever made.

Manage preferences

Current choice: Analytics declined

Contact

Questions about this policy? Open a GitHub issue on Brain2k-0005/Lumeo or use GitHub's private security advisory flow if it's sensitive.