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
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
encrypted/1,2,3 macro (Chronicle.Confidentiality) for values that need encryption at rest without being personal data subject to GDPR right-to-erasure — an API key, a webhook signing secret, a partner credential (Cratis/Chronicle#4095)
Chronicle.Concept gets its own concept-level encrypted/0,1 macro, mirroring how pii/0,1 is the concept-level counterpart to Chronicle.Compliance.pii/1,2
EncryptionScope (:subject default, :namespace, :global) — the identity an encrypted value's key is provisioned under. A subject-scoped key is always disjoint from any pii key for the same subject; a namespace-scoped key is shared by every value marked that way in one event store namespace; a global-scoped key is shared across the whole installation
pii and encrypted cannot both apply to the same value — rejected at schema-generation time with Chronicle.Confidentiality.PiiAndEncryptedCombinedNotSupported, because the two would otherwise encrypt the value twice under two different keys and be unable to release it correctly
encrypted/0,1 cannot be declared on a Chronicle.Concept created with event_source_id: true, rejected at compile time, mirroring the existing restriction on pii/0,1
Changed
cratis_chronicle_contracts bumped from 19.3.2 to 19.4.0
Fixed
Chronicle.Connections.AppendCompatibility's announced protocol version was still pinned to 19.0.1 while mix.lock had already moved to 19.3.2