You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(sessions): add secret: session state scope (Phase 1)
Introduce a new `secret:` prefix for session state keys that keeps
sensitive data (tokens, credentials) in process memory only — never
persisted to any storage backend and never logged by BQ Agent Analytics.
- Add `State.SECRET_PREFIX` constant and wire it through
`extract_state_delta()` so secret keys are excluded from all
persistence buckets.
- Add process-local cache and lifecycle helpers on
`BaseSessionService` (_apply, _trim, _seed, _restore, _evict).
- Update all four session services (InMemory, Database, Sqlite,
VertexAI) to seed/restore/evict secret state on create/get/delete.
- Harden BQ Agent Analytics redaction: redact `secret:*` keys and
detect JSON-encoded blobs containing sensitive credential keys.
- Accept `secret:` as a valid prefix in instruction template injection.
- 32 new tests (unit + integration across all service types).
Closes#5112 (Phase 1)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
0 commit comments