#[non_exhaustive]pub enum MetadataKind {
Location,
DeviceIdentity,
PersonalIdentity,
SoftwareFingerprint,
Timestamp,
Thumbnail,
EditingHistory,
DocumentIdentifier,
ColourProfile,
Comment,
Other,
}Expand description
What kind of identifying information an item represents.
These categories mirror docs/THREAT_MODEL.md §3 so that a user can connect what strypt
reports to what the threat model claims it protects against.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Location
GPS coordinates, altitude, bearing — anything that places the file.
DeviceIdentity
Camera make, model, lens, and body serial numbers. Serial numbers link every file a device ever produced, so one missed image can retroactively deanonymise an archive.
PersonalIdentity
Author, creator, last-modified-by, organisation, registered owner.
SoftwareFingerprint
Producing application and version.
Timestamp
Creation and modification times.
Thumbnail
Embedded thumbnails and previews, which survive cropping and visual redaction of the main image — a “redacted” photograph can carry an unredacted copy of itself.
EditingHistory
Revision identifiers, editing-cycle counts, total editing time, tracked changes.
DocumentIdentifier
An identifier that stays stable across saves and copies of one document — a PDF file
identifier, an XMP DocumentID. It names nobody, and it links every copy and every
revision of the document to each other, which for a leaked draft is the whole question.
ColourProfile
Embedded ICC colour profiles, which frequently carry a device or vendor name.
Comment
Free-text comments.
Other
Recognised as metadata, but not in any category above.
Implementations§
Source§impl MetadataKind
impl MetadataKind
Sourcepub const fn sensitivity(self) -> Sensitivity
pub const fn sensitivity(self) -> Sensitivity
How much this kind of item typically matters, used by front-ends for ordering and emphasis.
Trait Implementations§
Source§impl Clone for MetadataKind
impl Clone for MetadataKind
impl Copy for MetadataKind
Source§impl Debug for MetadataKind
impl Debug for MetadataKind
impl Eq for MetadataKind
Source§impl Hash for MetadataKind
impl Hash for MetadataKind
Source§impl Ord for MetadataKind
impl Ord for MetadataKind
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
1.21.0 (const: unstable) · Source§fn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for MetadataKind
impl PartialEq for MetadataKind
Source§impl PartialOrd for MetadataKind
impl PartialOrd for MetadataKind
impl StructuralPartialEq for MetadataKind
Auto Trait Implementations§
impl Freeze for MetadataKind
impl RefUnwindSafe for MetadataKind
impl Send for MetadataKind
impl Sync for MetadataKind
impl Unpin for MetadataKind
impl UnsafeUnpin for MetadataKind
impl UnwindSafe for MetadataKind
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.