aeat.adapters.persistence.storage.sql._secure_object_records module¶
Pydantic records for SQL secure object persistence.
Secure object read/write records carry
SensitivityClass so repository
policy can enforce the expected storage classification.
- class SecureObjectRecord(**data)[source]¶
Bases:
BaseModelOne decrypted sensitive object loaded from the SQL backend.
- Parameters:
- namespace: str¶
- object_key: bytes¶
- classification: SensitivityClass¶
- schema_version: int¶
- written_at: datetime¶
- payload: bytes¶
- class SecureObjectMetadata(**data)[source]¶
Bases:
BaseModelRow-level metadata for one stored secure object, decryption-free.
- Parameters:
- namespace: str¶
- classification: str¶
- schema_version: int¶
- written_at: datetime¶
- byte_length: int¶
- class SecureObjectDeletion(**data)[source]¶
Bases:
BaseModelOne secure-object row removal addressed by its raw HMAC digest.
Deletions are addressed by the stored
object_keydigest (theHashedLookupcolumn value) rather than the natural key, because a diff-based writer enumerates the stored rows by digest and cannot recover their natural keys (those are recoverable only by decrypting each payload). The 32-byte digest passes straight through theHashedLookupcolumn comparison without re-hashing, the same conventionsave_with_raw_key()andexists_by_raw_key()use.- namespace: str¶
- hashed_object_key: bytes¶
- class SecureObjectUnreadable(**data)[source]¶
Bases:
BaseModelOne stored secure object that cannot be decrypted under the current master key.
- Parameters:
- namespace: str¶
- row_id: int¶
- object_key: bytes¶
- classification: str¶
- schema_version: int¶
- written_at: datetime¶
- reason: str¶
- class SecureObjectRawRow(**data)[source]¶
Bases:
BaseModelOne stored row surfaced without classification / version validation or decryption.
- Parameters:
row_id (int)
namespace (str)
object_key (bytes)
classification (str)
schema_version (int)
written_at (datetime)
payload (bytes)
revision_id (str | None)
previous_revision_id (str | None)
previous_payload_hash (str | None)
payload_hash (str | None)
ciphertext_hash (str | None)
revision_written_at (datetime | None)
- row_id: int¶
- namespace: str¶
- object_key: bytes¶
- classification: str¶
- schema_version: int¶
- written_at: datetime¶
- payload: bytes¶
- revision_id: str | None¶
- previous_revision_id: str | None¶
- revision_ancestor_ids: tuple[str, ...]¶
- previous_payload_hash: str | None¶
- payload_hash: str | None¶
- ciphertext_hash: str | None¶
- revision_written_at: datetime | None¶
- class SecureObjectNamespaceIntegrity(**data)[source]¶
Bases:
BaseModelPer-namespace decryptability counts for the integrity diagnostic.
- namespace: str¶
- readable: int¶
- unreadable: int¶
- class SecureObjectDecryptabilityRow(**data)[source]¶
Bases:
BaseModelRow-level decryptability metadata without plaintext payload disclosure.
- Parameters:
- namespace: str¶
- row_id: int¶
- object_key: bytes¶
- classification: str¶
- schema_version: int¶
- written_at: datetime¶
- readable: bool¶
- reason: str | None¶