Skip to content

docs(docs): add a privacy policy + make the docs site third-party-free (SignPath) - #148

Merged
bioedca merged 1 commit into
mainfrom
docs/m9-privacy-policy
Jul 15, 2026
Merged

docs(docs): add a privacy policy + make the docs site third-party-free (SignPath)#148
bioedca merged 1 commit into
mainfrom
docs/m9-privacy-policy

Conversation

@bioedca

@bioedca bioedca commented Jul 15, 2026

Copy link
Copy Markdown
Owner

What & why

SignPath's free-for-OSS signing program requires a privacy-policy URL. This adds docs/privacy.md, wired into the mkdocs nav so it publishes at a stable /privacy/ URL on the live docs site.

The policy (accurate, verified against the code)

  • Desktop app is local-only — no telemetry, analytics, accounts, or network calls. The only network-ish call is socket.gethostname() for the local .lock sidecar.
  • Local provenance — the .tether store records the OS username (the annotation "labeler"); the separate .lock sidecar additionally records hostname + pid for one-writer coordination. All local, never transmitted.
  • Docs website — GitHub Pages host; no tracking cookies, no third-party analytics, client-side search.

Also: the site is now third-party-free

theme.font: false in mkdocs.yml makes Material use system fonts instead of loading Google Fonts — so the built site makes no third-party asset request (no visitor IP sent to Google). Verified: the built site has 0 references to fonts.googleapis.com/fonts.gstatic.com. This makes the policy's "no third-party" statement literally true.

Verified locally

mkdocs build --strict 0 warnings · privacy page builds · 0 Google-Fonts references in the built site · test_adr_index 5/5 · reuse compliant.

A 2-lens adversarial pre-review caught (and I fixed): the Google-Fonts third-party call, an over-statement that host/pid land in the .tether store (they're .lock-only), and a children's-privacy wording contradiction.

After merge I'll redeploy the docs site so the policy is live at https://bioedca.github.io/tether/latest/privacy/.

Self-review (PLAN §12.4)

  • Schema/lock freeze respected — docs + mkdocs config only.
  • docs-build --strict green; test_adr_index (mkdocs wiring guard) green; reuse green.
  • No new code/tunable; no ADR needed (site content, not a resolved PRD decision).

Summary by CodeRabbit

  • Documentation
    • Added a privacy policy covering local data processing, storage, telemetry, network activity, distribution, and website hosting.
    • Added the privacy policy to the documentation navigation.
    • Updated documentation settings to use system fonts and avoid third-party font requests.

…e (SignPath)

SignPath's free-for-OSS signing program requires a project privacy-policy URL. Add
`docs/privacy.md` (wired into the mkdocs nav → a stable /privacy/ URL) stating Tether's
actual data practices, verified against the code:
- the desktop app is local-only with NO telemetry/analytics/network calls (the only
  network-ish call is socket.gethostname() for the local `.lock` sidecar);
- the `.tether` store's provenance records the OS username (the annotation "labeler");
  the separate `.lock` sidecar additionally records hostname + pid for write-lock
  coordination — all stored locally, never transmitted;
- GitHub Pages is the host; the site itself sets no tracking cookies and runs no
  third-party analytics.

Also set `theme.font: false` in mkdocs.yml so Material uses system fonts instead of
loading Google Fonts — the built site now makes NO third-party asset request (no visitor
IP sent to Google), which makes the policy's "no third-party" statement literally true.

An adversarial review caught both the Google-Fonts gap and an over-statement of what the
`.tether` store records (host/pid are `.lock`-only, not in the store) — corrected here.
No src/schema/lock change.
@bioedca bioedca added type:docs Documentation area:packaging Packaging / installers labels Jul 15, 2026
@bioedca bioedca added this to the M9 - Packaging & docs milestone Jul 15, 2026
@coderabbitai

coderabbitai Bot commented Jul 15, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: d3f94e4a-145f-45be-a194-3e4a7fb2fcc5

📥 Commits

Reviewing files that changed from the base of the PR and between 7a67e1b and 3d944f9.

📒 Files selected for processing (2)
  • docs/privacy.md
  • mkdocs.yml

📝 Walkthrough

Walkthrough

Adds a privacy policy covering the Tether application, documentation site, distribution, and data handling. Updates MkDocs to link the policy and use visitor system fonts without external font requests.

Changes

Privacy documentation

Layer / File(s) Summary
Privacy policy and documentation integration
docs/privacy.md, mkdocs.yml
Adds the privacy policy, links it in the documentation navigation, and disables Material theme font provisioning so system fonts are used.

Estimated code review effort: 2 (Simple) | ~10 minutes

Poem

I’m a bunny with a policy bright,
Keeping data tucked out of sight.
Local files, fonts close at hand,
Clear links now help readers understand.
Hop, hop—privacy takes flight!

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description is useful, but it omits the required Linked tracking and Type of change sections and lacks a dedicated Testing section. Add the template sections for Summary, Linked tracking (Closes/Milestone/FR), Type of change, and Testing, and align the self-review checklist with the repository template.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title is concise and accurately summarizes the privacy-policy and third-party-font changes.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/m9-privacy-policy

Comment @coderabbitai help to get the list of available commands.

@bioedca

bioedca commented Jul 15, 2026

Copy link
Copy Markdown
Owner Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Jul 15, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@bioedca

bioedca commented Jul 15, 2026

Copy link
Copy Markdown
Owner Author

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Jul 15, 2026

Copy link
Copy Markdown
✅ Action performed

Full review finished.

@bioedca
bioedca merged commit 9de3b11 into main Jul 15, 2026
15 checks passed
@bioedca
bioedca deleted the docs/m9-privacy-policy branch July 15, 2026 16:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:packaging Packaging / installers priority:P2 Medium type:docs Documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant