Skip to content

test: prove signup logs redact private data - #147

Merged
daliu merged 2 commits into
mainfrom
codex/issue-146-signup-log-test
Jul 13, 2026
Merged

test: prove signup logs redact private data#147
daliu merged 2 commits into
mainfrom
codex/issue-146-signup-log-test

Conversation

@daliu

@daliu daliu commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Outcome

The existing fixed signup failure message now has hostile-canary regression coverage. The test proves a successful signup emits no error log, while a failed profile transaction emits exactly one fixed phrase and returns only the existing generic error.

Tracks #146. Parent tracker: #111.

Security invariant and failure behavior

  • The Auth user and caught provider failure contain synthetic UID, name, email, phone, token, provider-response, request-body, and capability-URL values.
  • None of those values may reach serialized console.error arguments or the returned error code/message.
  • Success produces no console.debug, error, info, log, or warn call.
  • Failure produces only Member profile setup failed during account creation. and the existing internal / Failed to create member record response.
  • On failure, console.debug, info, log, and warn remain silent.
  • The original provider error is not returned or attached as a cause.

Scope

  • functions/ensureMemberProfile.test.js only

No runtime, dependency, schema, frontend, Rules, workflow, root-document, officer-guide, provider, production-data, or sitemap change.

Test evidence

Node 20.20.2 on exact head 329b58808b8e09d0f284c2f6b7369920aa6afdc6, base f2caaae3b3f25adfd4fc552008871408f18e5931:

  • Pre-change coverage check confirmed the hostile signup-console regression was absent.
  • Focused ensureMemberProfile.test.js: 1 suite / 20 tests passed.
  • Complete Functions suite: 5 suites / 160 tests passed; the existing emulator-only suite remained skipped by the unit-test command.
  • Functions ESLint: passed.
  • git diff --check: passed.
  • An independent review found the first version watched only console.error; the final version closes that gap across all five standard console levels.
  • Two independent exact-head re-reviews approve the corrected one-file range and agree it resolves OBS-001A — Remove personal data and session replay from current monitoring and logs #111's remaining Functions-log canary gap.
  • Hosted CI run 29246004213 passed frontend, Functions, and Firestore Rules on this exact head.
  • Diff SHA-256: e3a40a405ffaa79d1cffdbfd336e27edeae20e986f8e2ea4f24fc16abce14ff6.

Tests use the existing Firebase Admin/Functions mocks and synthetic values. They make no Firebase or outside-provider call.

Compatibility / rollback

Runtime behavior is byte-for-byte unchanged. Removing this test would remove regression proof but would not change deployed behavior.

Officer impact: None — member and officer tasks/screens are unchanged.

Officer documentation: None — no procedure, navigation, permission, collected field, deployment duty, or external account changed.

Deployment evidence:

  • Source/tests: exact head is pushed, independently reviewed, and green in hosted CI; not merged.
  • Website publication: not performed. CI-001B2 — Make releases protected, backend-first, and fail-closed #135 keeps Git-triggered production publication paused.
  • runmprc.com verification: not performed; no exact revision is claimed live.
  • Firebase deployment: not required or performed; this is a mocked Functions test only.
  • Outside-provider configuration: not inspected or changed.
  • Production behavior: not tested; no production account, email, record, or provider traffic was used.

@netlify

netlify Bot commented Jul 13, 2026

Copy link
Copy Markdown

Deploy Preview for luminous-fox-7c393f ready!

Name Link
🔨 Latest commit 329b588
🔍 Latest deploy log https://app.netlify.com/projects/luminous-fox-7c393f/deploys/6a54ca639c4f5000094872b1
😎 Deploy Preview https://deploy-preview-147--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 marked this pull request as ready for review July 13, 2026 11:24
@daliu
daliu merged commit 8d25007 into main Jul 13, 2026
7 checks passed
@daliu
daliu deleted the codex/issue-146-signup-log-test branch July 13, 2026 11:24
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.

OBS-001A — Remove personal data and session replay from current monitoring and logs

1 participant