Files
SnapOtterandGitHub 04ef1141fb feat(telemetry): readable Sentry errors, Python tracebacks, and diagnostic mode
Keeps a real, redacted error message instead of "Error: Error", surfaces Python tracebacks in Sentry as a vetted context, and adds an opt-in SNAPOTTER_SENTRY_DIAGNOSTIC verbose mode plus SNAPOTTER_SENTRY_DSN_OVERRIDE. The default fleet path ships nothing on the never-collect list; raw detail is reachable only via the opt-in flag. Also classifies Redis OOM/READONLY replies as operational and removes a ReDoS in stack-frame extraction.
2026-08-03 13:13:38 +08:00

1.4 KiB

description
description
What anonymous usage data SnapOtter collects, when it is sent, and how to turn instance-wide product analytics off.

What SnapOtter collects

Anonymous Product Analytics is on by default and set for the whole instance by an administrator. Turn it off under Settings > System > Privacy.

Events we send (when enabled)

  • tool_used: tool id, status, duration, category, whether it is an AI tool, an error code on failure.
  • pipeline_executed: step count, tool ids, batch flag, file count, duration, status.
  • ai_bundle_action: bundle id, action, duration.
  • Frontend usage: which tool pages open, files added (counts only), tool started, downloads, saves, search (result count only), batch processed.
  • Crash reports: error type, a redacted error message (file names, paths, emails, and quoted values removed), a source stack with file basenames, and for AI tools a Python traceback with file basenames only.

What we never collect

  • File names or paths
  • File contents
  • OCR output text
  • Image metadata (EXIF)
  • Extracted document text
  • Your IP address or account identity

Turning it off

Admins: Settings > System > Privacy, flip "Anonymous Product Analytics" off. It stops immediately, instance-wide. To build an image that can never emit, set the SNAPOTTER_ANALYTICS=off build arg.