fix: redact legacy incoming call log - #248
Conversation
|
Release review: needs-fix (privacy blocker); not ready to land. The numeric caller-ID regression is good, but the Please run a fresh TDD cycle: add a parser/session-reachable regression using a non-numeric sentinel caller identifier and assert the full value is absent from captured logs; then make this legacy auto-answer logging path fail closed for arbitrary |
|
Release review: superseded candidate / do not merge alongside #251. This shares the same original auto-answer log statement and retains the same non-numeric caller-ID leak because |
|
Release-lane classification: needs fix/revalidation before merge. This draft was not independently reviewed or integration-tested in this pass and its GitHub mergeability is stale/unknown after current-main advances. Please rebase or otherwise validate it against current |
|
Release classification: needs-fix for this release pass. The draft has not received a current exact-head review and prescribed local integration gate over the advancing |
|
Release review: needs-fix. The new helper still uses |
Summary
run_server()auto-answer INFO log using the existing phone-number redactor.Verification
git diff --checkPYTHONPATH=. uv run --no-project --with pytest --with pytest-asyncio --with pytest-aiohttp --with pyserial-asyncio --with aiosqlite pytest tests/test_api_auth.py::TestServerPrivacyLogging::test_incoming_call_log_redacts_session_number -q— 1 passedPYTHONPATH=. uv run --no-project --with pytest --with pytest-asyncio --with pytest-aiohttp --with pyserial-asyncio --with aiosqlite pytest tests/ -q— 992 passedTDD evidence
The strengthened regression test was proven to fail against a temporary local raw-logging mutation, then the redaction call was restored. The temporary mutation was not committed.
Scope / risk
Narrow logging-only change. It preserves the existing incoming-call and greeting wording while removing raw caller data from the default server log.
Related to #61. This PR intentionally covers one log path only; other logging surfaces remain out of scope.