Skip to content

docs: describe the October 2026 security fixes - #30

Merged
AdamXweb merged 1 commit into
mainfrom
docs/security-remediation-oct-2026
Oct 6, 2026
Merged

AdamXweb merged 1 commit into
mainfrom
docs/security-remediation-oct-2026

Conversation

@adamXbot

@adamXbot adamXbot commented Oct 6, 2026

Copy link
Copy Markdown
Collaborator

Documents the behaviour changed by privacykey/privacytracker#375 through privacykey/privacytracker#379, all merged to main on 2026-10-06.

What changed in the docs

  • installation.mdx: .localhost is no longer loopback. The passage that said the sample stacks worked "only because *.localhost is treated as loopback" now says the stacks pass PRIVACYTRACKER_HOST into the allowlist, and that listing it makes the instance network-exposed (which the sample .env.example files already require a token for). The iPhone import helper section notes the CSV quoting and formula neutralisation.
  • configuration.mdx: allowlist row says a .localhost name must be listed; the custom-provider accordion gains the 300,000-character fetch cap, the 120-chunk budget and the cancel-on-disconnect behaviour.
  • security.mdx: the data-flow list goes from four to five entries with a new Internet Archive accordion (Wayback importer, policy archive lookup, the 45-day Save Page Now rule); the policy accordion notes the fetch cap and the 20-version / 8 MiB retention; the browser-session section explains the per-process HMAC cookie value, that every pt_admin_token cookie is tried, and the header/cookie asymmetry.
  • api-reference/introduction.mdx, hardening.mdx, glossary.mdx: the admin cookie is a derived session value that a restart or rotation invalidates. Glossary also fixes the policy-version table name (privacy_policy_versions), adds retention, and adds the chunk bounds.
  • troubleshooting.mdx: a chunk-budget row in the AI debug-log table and a note that the bounds apply to every provider.
  • develop/tauri.mdx: the launch credential and one-time bootstrap link on the Rust backend, the same credential and the environment-passed nonce on the Node sidecar, .desktop-token in the filesystem layout, and the desktop session cookie in the /api/reset note.
  • llms-full.txt regenerated with npm run llms.

Checks

  • npm run check passes (41 linked files, 29 llms entries).
  • npm run build (Mintlify export) compiles all 118 pages.

🤖 Generated with Claude Code

Covers what privacytracker PRs #375 to #379 changed for operators and
integrators:

- `.localhost` names are ordinary hostnames, not loopback. The sample
  stacks pass PRIVACYTRACKER_HOST through to the allowlist, and listing
  it makes the instance network-exposed.
- The admin session cookie is a per-process HMAC of the token, not the
  token; every pt_admin_token cookie is tried, and a restart or token
  rotation signs browsers out. The header takes the raw token only.
- Policy fetches keep at most 300,000 characters, a summary makes at most
  120 chunk calls, a run stops when its caller goes away, and each app
  keeps its newest 20 policy versions within 8 MiB.
- Save Page Now is asked only when no archived copy from the last 45 days
  is known; the data-flow list now names the Internet Archive.
- The desktop launch credential and its one-time bootstrap link, on the
  Rust backend and the Node sidecar alike, with .desktop-token on disk.
- The iPhone import helper's CSV quotes every field and neutralises
  formula-leading cells.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
docs-privacytracker fc4c013 Commit Preview URL

Branch Preview URL
Oct 06 2026, 11:27 AM

@AdamXweb
AdamXweb merged commit d9818c8 into main Oct 6, 2026
2 checks passed
@AdamXweb
AdamXweb deleted the docs/security-remediation-oct-2026 branch October 6, 2026 13:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants