seo 0.2.5 → 0.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/PRIVACY.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Privacy policy
2
2
 
3
- Last updated: 14 July 2026
3
+ Last updated: 16 July 2026
4
4
 
5
5
  This policy covers the official `seo` command-line tool, library, MCP server,
6
6
  and the seoskill.dev website.
@@ -53,9 +53,46 @@ work you request. These can include Google APIs, public pages and sitemaps you
53
53
  choose to crawl, and the npm registry for package update checks. Those services
54
54
  receive ordinary request data under their own privacy policies.
55
55
 
56
- The CLI does not include project-controlled usage telemetry. Installing the
57
- package through npm or using GitHub is covered by the policies of those
58
- services.
56
+ ## Anonymous tool usage
57
+
58
+ Anonymous usage telemetry is enabled by default with a one-time first-run
59
+ notice. It describes use of the tool, not the site or Google data being
60
+ analysed. Events can contain only a fixed event name, public report identifier,
61
+ package version, detected agent category, operating system, architecture, Node
62
+ major version, first-run ISO week, wire schema version, and a fixed error
63
+ category for failed reports.
64
+
65
+ Telemetry never contains a user ID, machine ID, UUID, fingerprint, audited
66
+ domain, URL, hostname, page content, report content, Search Console or Google
67
+ Analytics response, Google property ID, token, secret, file path, username,
68
+ local hostname, raw error message, IP address, or location. The complete event
69
+ and field catalogue is published at
70
+ [seoskill.dev/telemetry](https://seoskill.dev/telemetry).
71
+
72
+ Once-only event state stays in a private local file in the existing SEO config
73
+ directory. The telemetry endpoint accepts only the published fixed schema and
74
+ writes those fields to a dedicated Cloudflare D1 table. The server adds only
75
+ the UTC receipt month, such as `2026-07`, so it can publish monthly totals
76
+ without storing an exact request time. The table has no account or identity
77
+ column. It does not use KV, R2, or Analytics Engine. Worker request logging is
78
+ disabled. The ingest code does not read request IP or Cloudflare location
79
+ fields, and neither is written to D1. Cloudflare still handles the ordinary
80
+ network request at its edge.
81
+
82
+ Disable all telemetry network calls with `seo telemetry disable`,
83
+ `DO_NOT_TRACK=1`, `SEOSKILL_TELEMETRY_DISABLED=1`, or
84
+ `SEO_TELEMETRY_DISABLED=1`. It is automatically disabled in common CI
85
+ environments. Use `seo telemetry status` to inspect the effective setting and
86
+ `seo telemetry enable` to turn the local setting back on. Environment and CI
87
+ overrides always win.
88
+
89
+ Aggregate event counts are public at
90
+ [seoskill.dev/stats](https://seoskill.dev/stats). They are described as
91
+ installs, active machines, and audits, never users. One person can have several
92
+ installs, and clearing local state creates a new install.
93
+
94
+ Installing the package through npm or using GitHub is covered by the policies
95
+ of those services.
59
96
 
60
97
  The seoskill.dev website uses [Clicky](https://clicky.com/terms/privacy) to
61
98
  count visits and see which pages people use. Tracking cookies are disabled in
package/README.md CHANGED
@@ -77,7 +77,7 @@ technical report before connecting Google.
77
77
  Running `seo help` shows the shape of the tool:
78
78
 
79
79
  ```txt
80
- seo v0.2.5
80
+ seo v0.2.7
81
81
 
82
82
  Run SEO audits, find what needs fixing, and ship the changes with your agent.
83
83
 
@@ -386,8 +386,14 @@ paths, including OAuth testing-mode limits.
386
386
 
387
387
  Yes. Reports, project profiles, Google tokens, crawls, and caches stay in your
388
388
  local config directory. The CLI only makes the network requests needed to fetch
389
- your site and call the Google APIs you connect. There is no hosted backend,
390
- account, or telemetry service.
389
+ your site and call the Google APIs you connect.
390
+
391
+ SEO data never leaves your machine. The CLI sends anonymous usage events such
392
+ as the event name, report id, tool version, agent, OS, architecture, Node major,
393
+ and install week. It never sends URLs, identifiers, report data, or Google data.
394
+ Disable telemetry with `DO_NOT_TRACK=1` or `seo telemetry disable`. Read the
395
+ [full telemetry details](https://seoskill.dev/telemetry) and the
396
+ [public aggregate stats](https://seoskill.dev/stats).
391
397
 
392
398
  ### Do I need a Google API key?
393
399
 
@@ -423,6 +429,8 @@ vulnerabilities privately through the process in [SECURITY.md](SECURITY.md).
423
429
  - [MCP and agents](https://seoskill.dev/docs/agents)
424
430
  - [AI-search evidence](https://seoskill.dev/docs/ai-search)
425
431
  - [Privacy policy](https://seoskill.dev/privacy)
432
+ - [Anonymous telemetry](https://seoskill.dev/telemetry)
433
+ - [Public usage stats](https://seoskill.dev/stats)
426
434
  - [Terms of use](https://seoskill.dev/terms)
427
435
  - [Security policy](https://seoskill.dev/security)
428
436
  - [Contributing](CONTRIBUTING.md)