Beta — line9 is under active development and not yet production-ready
line9 · privacy

What we capture, and what we don't.

The diagram viewer records the structural shape of each diagram you render — anonymous topology, no source text — so the renderer can be improved against the diagrams people actually draw. This page lists every field that leaves your browser, and gives you a switch to turn the corpus write off.

§ 1
What capture does

When line9 successfully parses a diagram, the canonicaliser produces a structural fingerprint: nodes relabelled in canonical order, edges with directions and endpoints, node shape categories, and subgraph nesting. That fingerprint is written to a private corpus so the project owner can re-render entries against the current line9 and find layouts that need work. Separately, a small render event is recorded — outcome, timing, viewport, theme — so error rates and performance are visible.

§ 2
What never leaves the browser

The Mermaid source you type, all node and edge labels, your node IDs, comments, colours, and any other free-form content stay on your device. The wire format structurally cannot carry them — there is no source field, no labels field, no free-text error message.

§ 3
Topology corpus fields

Each topology write is a JSON document with exactly these fields:

  • topology_key Content hash of the canonical structural form.
  • topology_key_version Version of the canonicalisation algorithm that produced the key.
  • canonical_graph Anonymous graph: vertices in canonical order, edges with directions and endpoints, node shape categories, subgraph nesting.
§ 4
Render event fields

Dimensions:

  • render_status success, layout_error, or unknown_error.
  • render_error_code Enumerated failure category from @line9/core when status is not success.
  • diagram_type Parsed diagram kind (e.g. flowchart, sequenceDiagram).
  • theme Selected diagram theme.
  • orientation portrait or landscape, as the viewer rendered it.
  • line9_version Version string of @line9/core at render time.
  • topology_key Structural identifier; absent for diagram kinds the canonicaliser does not yet handle.
  • topology_key_version Canonicaliser version; present whenever topology_key is.
  • referrer_host Hostname of document.referrer only — no path, no query.

Metrics:

  • render_duration_ms Wall-clock time from parse start to render end.
  • viewport_width CSS pixels of the rendering viewport.
  • viewport_height CSS pixels of the rendering viewport.
  • spacing_scale Multiplier on inter-node and edge spacing.
  • node_scale Multiplier on node size.
§ 5
Opt-out

Render events and Web Analytics continue regardless, because they carry no user content and no per-user identifiers; they are operational signal needed to manage the service.

scope · this browser storage · localStorage spec · diagram-capture §8