Reference

Telemetry

Memory Layer ships with usage telemetry that is off by default and stays off unless you explicitly turn it on. There is deliberately no default collector endpoint: even setting enabled = true sends nothing until you also configure where events should go.

# global config — both keys are required before anything is sent
[telemetry]
enabled = true
endpoint = "https://your-collector.example/v1/event"

What is sent (and what never is)

When fully opted in, exactly these events are recorded, as counts:

EventWhen
demo_completedmemory demo finished seeding the showcase project.
tour_completedmemory tour ran all three steps.

Each payload contains only: the event name, the Memory Layer version, the operating system name (linux / macos), and an anonymous instance id — a random UUID generated locally and stored in your state directory, carrying no machine or user information.

Never sent: project names, queries, answers, memory content, file paths, hostnames, usernames, tokens, or anything derived from your data.

Behavior guarantees

  • Sending is fire-and-forget with a 3-second timeout; telemetry can never slow down or fail a command.
  • Delete the instance id at any time: remove telemetry-instance-id from your state directory and a new random one is generated if telemetry is still enabled.
  • Turning it off is one line: enabled = false (or removing the section).

Why it exists

The adoption roadmap invests heavily in install and first-run experience; opt-in counts of demo_completed/tour_completed are the only way to know whether that work reaches anyone. If you run a community or team deployment and want to contribute counts, point endpoint at your own collector — the payload is a single small JSON object per event.

© 2026 Olivier Van Acker (3vilM33pl3). Memory Layer is AGPL-3.0-or-later with commercial licensing available.

On this page