-
Notifications
You must be signed in to change notification settings - Fork 8
Open
Description
Goal
Track Cooper usage/installs without invasive analytics. Only collect:
- How many people are using it
- Which versions are running
- OS distribution
No PII, no behavioral tracking.
Implementation Plan
Part 1: GitHub Releases Download Counts (Zero Implementation)
GitHub already tracks download counts per release asset. Query via API:
gh api repos/OWNER/cooper/releases --jq '.[].assets[] | {name, download_count}'Provides: Total downloads per version/platform
Limitation: Doesn't track active installs or version distribution of running apps
Part 2: Anonymous Launch Ping (Lightweight)
On app launch, send a single anonymous request to a lightweight endpoint (Cloudflare Worker / Vercel Edge Function / GitHub Gist).
Payload:
{
"version": "1.2.3",
"os": "darwin" | "win32" | "linux",
"machineIdHash": "sha256-of-machine-id"
}Privacy considerations:
- Machine ID is hashed (SHA-256) — not reversible, only used for unique counts
- No user data, no tracking, no PII
- Could add an opt-out toggle in settings (default: enabled, with clear disclosure)
Backend options (pick one):
- Cloudflare Worker + KV storage (~$0)
- Vercel Edge Function + KV
- Simple GitHub Gist counter (hacky but free)
Exposes:
- Unique active user count
- Version distribution
- OS breakdown
Out of Scope
- Behavioral analytics
- Feature usage tracking
- Crash reporting
- Any PII collection
Labels
enhancement, good first issue
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels