Skip to content

Latest commit

 

History

History
23 lines (18 loc) · 1.61 KB

File metadata and controls

23 lines (18 loc) · 1.61 KB

DevKeys — Observability & Telemetry

Current Approach

  • The app intentionally ships without external telemetry. Logs are limited to console warnings (e.g., when the WASM engine cannot be loaded or syntax highlighting fails).
  • Session metrics are stored locally in IndexedDB and never transmitted. Users can inspect/delete them via browser devtools.
  • Highlight.js and framer-motion surface their own warnings in development mode; we keep them visible to aid debugging.

Short-Term Enhancements

Area Action
JS logging Introduce a lightweight logger that can be silenced in production builds but remains verbose in development.
WASM tracing Expose feature-gated console_log hooks from the Rust crate so diff performance can be profiled when needed.
Error surfaces Add inline banners (instead of console noise) when IndexedDB writes fail or packs refuse to load.

Future Telemetry (Opt-In)

  • Tracing spans: If/when remote analytics are required, use tracing/tracing-wasm to emit structured spans and guard them behind explicit user consent.\n+- Performance HUD: Optional overlay showing FPS, keystroke latency, and engine evaluation timings for power users.
  • Crash reports: Consider privacy-preserving crash dumps (e.g., better-reporting) only after a governance decision and opt-in flow.

Principles to Uphold

  1. No raw keystrokes or prompt content may leave the device.
  2. Observability features must default to “off” and be transparent when enabled.
  3. Debug hooks (JS or Rust) should be removable from production builds via feature flags to avoid bundle bloat.