Skip to content

Fix the Walk & Test privacy disclosure, and pin it with a test - #8

Merged
TechLuddite merged 1 commit into
mainfrom
claude/walk-test-section-22hq2i
Aug 23, 2026
Merged

Fix the Walk & Test privacy disclosure, and pin it with a test#8
TechLuddite merged 1 commit into
mainfrom
claude/walk-test-section-22hq2i

Conversation

@TechLuddite

Copy link
Copy Markdown
Owner

Found while verifying the #7 deployment against the live bundle.

The bug

After swapping Facebook for Atlassian, the in-app disclosure list still named www.facebook.com and omitted www.atlassian.com. The README privacy table was updated in that commit; THIRD_PARTY_DISCLOSURES was not.

So the app was telling users it contacts a host it no longer touches, and not telling them about one it does. Both halves are wrong, and the second is the serious one.

Why it slipped

The disclosure list is a contract, and CLAUDE.md states the rule plainly: a new probe endpoint gets disclosed in the same commit. That rule was enforced by discipline alone, and prose does not typecheck.

The fix

Corrects the row, and adds src/components/PrivacySafetyModal.test.ts so the next drift fails instead of shipping:

  • every WALK_TARGETS host appears in the disclosures
  • every FAMILY_ENDPOINTS host appears in the disclosures
  • no removed host is still named
  • every row actually says what its host receives, rather than naming a host and stopping

Both directions are checked on purpose. A missing host understates what leaves the browser. A stale host overstates it, which is the kind of error that quietly erodes the list until nobody bothers reading it.

Also corrects the request-volume figure in that row, which predated the one-second interval and understated the busiest case.

Verification

npm run check green: 313 tests, 5 new. Confirmed the new test fails against the pre-fix disclosure list before fixing it.


Generated by Claude Code

The in-app disclosure list still named www.facebook.com and omitted
www.atlassian.com after the destination swap. The README table was
updated in that commit; the modal was not. So the app was telling users
it contacts a host it no longer touches, and not telling them about one
it does.

The list is a contract, and the rule that a new probe endpoint gets
disclosed in the same commit is enforced by discipline alone, which is
how it slipped: prose does not typecheck.

Adds PrivacySafetyModal.test.ts, which does. Every WALK_TARGETS host and
every FAMILY_ENDPOINTS host must appear in the disclosures, no removed
host may still appear, and every row must actually say what its host
receives. Both directions matter: a missing host understates what leaves
the browser, and a stale one erodes the list's credibility until nobody
reads it.

Also corrects the request-volume figure, which predated the one-second
interval option and understated the busiest case.
@TechLuddite
TechLuddite merged commit e339728 into main Aug 23, 2026
2 checks passed
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.

1 participant