Skip to content

chore: scrub real personal data from test fixtures and docs#271

Merged
MSIH merged 1 commit into
mainfrom
chore/270-scrub-pii
Jul 24, 2026
Merged

chore: scrub real personal data from test fixtures and docs#271
MSIH merged 1 commit into
mainfrom
chore/270-scrub-pii

Conversation

@MSIH

@MSIH MSIH commented Jul 24, 2026

Copy link
Copy Markdown
Owner

Closes #270

Summary

  • Replaces real names, phone numbers, and a precise GPS coordinate that leaked into test fixtures and doc comments during dogfooding with fictional equivalents, ahead of open-sourcing the repo.

Changes

  • Amy Margaret Schneider/Amy Schneider/Adam SchneiderAmy Margaret Fenwick/Amy Fenwick/Adam Fenwick
  • April Delugach Paine/Matt PaineApril Marsh Sorrel/Matt Sorrel
  • Phone 2564680130 (all formats) → 4155550148; phone +12406725399+12025550171
  • Coordinate 38.8981222,-77.033491739.0,-76.0
  • Touches: src/db.js, src/contacts.js, public/chat.js, scripts/backfill-{phone-aliases,display-names}.js, test/{db,server,contacts}.test.mjs, connectors/photo-exif/test.mjs, README.md, docs/03-ob2-design.md, .claude/rules/data-model.md

Verification

  • npm test: 186/186 pass
  • npm run check:boundary: OK
  • connectors/photo-exif suite: 20/21 pass (1 pre-existing unrelated Windows flake, reproduced identically on unmodified main)
  • Store→recall smoke test passed against a throwaway port/DB, 0 server errors
  • No remaining occurrences of the original PII anywhere in the repo (grep-verified)

Test plan

  • Full test suite green
  • Boundary check green
  • grep sweep confirms no leftover PII strings

Replaces real names/phone numbers/a precise GPS coordinate that leaked into
test fixtures and doc comments during dogfooding with fictional equivalents,
ahead of open-sourcing the repo.

Closes #270
Copilot AI review requested due to automatic review settings July 24, 2026 22:04
@MSIH MSIH added the chore label Jul 24, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Scrubs leaked real personal data (names, phone numbers, and a precise GPS coordinate) from test fixtures and documentation/comment examples to make the repository safe to open-source, without changing runtime behavior.

Changes:

  • Replaces real person-name fixtures/examples with fictional equivalents across tests and inline docs/comments.
  • Replaces real phone-number fixtures/examples with NANP fictional numbers, updating corresponding assertions.
  • Replaces a precise GPS coordinate in the photo-exif connector test with a coarse, non-identifying coordinate.

Reviewed changes

Copilot reviewed 12 out of 12 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/db.js Updates doc comments/examples for phone normalization, name variants, relation hint staging, and handle annotation.
src/contacts.js Updates preferredDisplayName doc comment name examples.
public/chat.js Updates inline comment example for display_text handle annotation.
scripts/backfill-phone-aliases.js Updates header comment phone-number examples to fictional equivalents.
scripts/backfill-display-names.js Updates header comment name example to fictional equivalent.
test/db.test.mjs Updates fixtures/assertions for display text annotation, display-name reduction, and phone normalization tests.
test/server.test.mjs Updates propose-entity phone-alias normalization test inputs to fictional numbers.
test/contacts.test.mjs Updates nameVariants fixtures/assertions to the fictional names.
connectors/photo-exif/test.mjs Updates Takeout sidecar fixtures/assertions for pictured names and GPS coordinate; updates album-layout folder-name hint fixture.
README.md Updates user-facing examples for phone canonicalization and display-name behavior.
docs/03-ob2-design.md Updates design doc example relationship text to fictional name.
.claude/rules/data-model.md Updates data-model documentation examples for name/phone/display_text to fictional values.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread README.md
Comment on lines +69 to +71
Phone numbers are matched by a canonical key (#129): US/Canada numbers written with a `+1` country code (`+1 (415) 555-0148`) resolve to the same contact as the bare 10-digit form (`(415) 555-0148`) — punctuation, spacing, and the `+1` all normalize away. Contacts imported before this change are re-aliased under the canonical key by `npm run backfill:phones` (additive and idempotent — back up `life-context.db` first).

A contact's **display name defaults to first + last** (#156): a card with a middle name (`Amy Margaret Schneider`) is stored and shown as `Amy Schneider`, while the full name is kept as a searchable alias — so search/timeline read cleanly without losing resolution by the full name. Contacts imported before this change are shortened by `npm run backfill:display-names` (idempotent; back up `life-context.db` first).
A contact's **display name defaults to first + last** (#156): a card with a middle name (`Amy Margaret Fenwick`) is stored and shown as `Amy Fenwick`, while the full name is kept as a searchable alias — so search/timeline read cleanly without losing resolution by the full name. Contacts imported before this change are shortened by `npm run backfill:display-names` (idempotent; back up `life-context.db` first).
@MSIH
MSIH merged commit b2d0a47 into main Jul 24, 2026
6 checks passed
@MSIH
MSIH deleted the chore/270-scrub-pii branch July 24, 2026 22:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

chore: scrub real personal data from test fixtures and docs

3 participants