Skip to content

DATA-001C1: pause My Account phone collection during privacy review - #179

Merged
daliu merged 1 commit into
mainfrom
codex/issue-178-pause-profile-phone
Jul 13, 2026
Merged

daliu merged 1 commit into
mainfrom
codex/issue-178-pause-profile-phone

Conversation

@daliu

@daliu daliu commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Outcome

My Account no longer displays or accepts a phone number, and the reviewed Firestore Rules source rejects browser phone mutations while preserving any existing stored value.

Closes #178.

Scope

  • Issue: DATA-001C1 — Pause optional My Account phone collection during privacy review #178
  • What changed: removed phone state, display, input, autocomplete, validation, and writes from My Account; returned a phone-free My Account projection; restricted owner profile updates to name plus timestamp; added synthetic add, replace, clear, preservation, UI, and service tests; updated the system design and officer procedures.
  • What did not change: existing stored data; Firebase Auth or profile-creation Functions; Google Forms; event, shop, Stripe, export, or admin roster paths; provider settings; production data; deployment workflows; generated sitemap.
  • Invariant: a member may still edit a valid name, but a browser may not add, replace, or clear phoneNumber; a name-only edit leaves an existing value byte-for-byte unchanged.
  • Residual boundary: Firestore still authorizes and transports the complete owner document before the client constructs its phone-free projection. MEMBERS-ROSTER-001 — Add officer-only member roster view and safe CSV export #116 retains broader server-projection work.
  • Incident boundary: spam timing is not proof of MPRC causation. A separately confirmed anonymous-reader permission on a membership-response artifact is recorded in the redacted OPS-SEC-001 — Establish private security/privacy reporting and rehearse incident response #112 handoff and requires authorized provider-side containment. No response rows or member records were opened.

Officer handoff

  • Officer impact: officers should tell members that phone entry in My Account is paused; they must not collect incident data in GitHub, email, screenshots, or AI tools.
  • Officer documentation: docs/officers/EVENTS_SHOP_MEMBERS.md, docs/officers/SYSTEM_MAPS.md
  • Approving role: membership lead plus privacy/platform owner
  • Preview or redacted screenshot: None — the containment was verified with made-up UI data, and no real member profile was opened.
  • Screenshot checked at: Not applicable
  • Plain-language undo plan: use one reviewed revert or roll-forward through the same backend-first gate; do not restore phone collection until purpose, notice, access, retention, and live controls are approved and proven.
  • Deployment evidence: source commit 923731c; no Firebase, website, provider, or production change has been made by this pull request.

Proof by surface

  • Source changed: commit 923731c
  • Tests passed: frontend 10 suites / 133 tests; Firestore Rules 4 suites / 314 tests; focused My Account/service 20/20; focused member Rules 51/51; changed-file ESLint; diagnostic production build; git diff --check
  • Independent review: QA approved the frozen diff; security review approved the frozen diff with no blocking findings.
  • Code merged: not yet
  • Website published: not yet
  • Netlify intended commit verified: not yet
  • runmprc.com verified: not yet
  • Firebase deployed: not yet
  • Outside provider configured: not yet
  • Outside provider verified: not yet
  • Production behavior verified: not yet

The Rules must deploy and pass readback before the dependent website revision is published. A green workflow alone will not be treated as live proof.

Safety review

  • No secrets, recovery codes, private member data, or payment data are included.
  • Planned behavior is marked SOURCE ONLY, NOT LIVE.
  • Skipped checks or deployments are reported as incomplete, not green/live.
  • Page, data, and access diagrams were updated for the changed flow.
  • A backup officer can follow the affected guide without a terminal; specialist-only release and provider steps are explicit.

@netlify

netlify Bot commented Jul 13, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for luminous-fox-7c393f ready!

Name Link
🔨 Latest commit 923731c
🔍 Latest deploy log https://app.netlify.com/projects/luminous-fox-7c393f/deploys/6a554e2e307fb8000830b924
😎 Deploy Preview https://deploy-preview-179--luminous-fox-7c393f.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@daliu
daliu merged commit 6017493 into main Jul 13, 2026
8 checks passed
@daliu
daliu deleted the codex/issue-178-pause-profile-phone branch July 13, 2026 20:46
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.

DATA-001C1 — Pause optional My Account phone collection during privacy review

1 participant