symfonic.services.shadow.native_privacy¶
native_privacy ¶
Explicit native privacy participation for the governed recording store.
A host registers its own store with the same SubjectDataStoreRegistry passed to PrivacyService. The legacy process-global registry is never consulted here. The recording store is tenant-keyed. Only tenant-root erasure is supported; a child scope is refused before any rows are touched. Native registration keeps this synchronous writer synthetic-only until an atomic write fence exists.
RecordingStoreSubjectDataStore ¶
Row-20 participant for one explicitly selected recording store.
Source code in src/symfonic/services/shadow/native_privacy.py
preflight_erase
async
¶
Reject unsupported scope before the service audits or tombstones it.
register_recording_store ¶
register_recording_store(store: RecordingStore, *, into: SubjectDataStoreRegistry) -> RecordingStoreSubjectDataStore
Wire this store into the registry the native PrivacyService will use.
Source code in src/symfonic/services/shadow/native_privacy.py
verify_native_deletion_wiring
async
¶
verify_native_deletion_wiring(store: RecordingStore, *, registry: SubjectDataStoreRegistry, fence: ErasureFence, probe_tenant: str = 'deletion-wiring-probe', seed: int = 1) -> DeletionWiringAttestation
Refuse native production attestation until synchronous writes can fence.