#[non_exhaustive]pub enum Note {
UnparsedRegion {
location: String,
bytes: u64,
},
IncrementalHistory {
revisions: usize,
},
OrphanedObjectsRemoved {
objects: usize,
},
OutOfScopeContent {
location: String,
},
FilenameMayIdentify,
CapabilityRemoved {
location: String,
capability: String,
},
}Expand description
A caveat about what strypt did or could not do.
Modelled as an enum rather than free text so that front-ends can present notes consistently, and so that a limitation cannot be introduced by a handler quietly writing a new sentence. Notes are how the tool stays honest about partial knowledge without either hiding a limitation or failing outright.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
UnparsedRegion
The file contained a region the handler could not parse. Its bytes were preserved as-is, so metadata inside it — if any — was not removed.
Fields
IncrementalHistory
The file had been saved incrementally, so earlier revisions were present in it.
OrphanedObjectsRemoved
Objects that nothing in the finished document referred to any more were dropped.
Usually the remains of superseded revisions. They are worth reporting because their presence tells the user something true about the file they were about to publish: earlier drafts of it were physically inside it.
OutOfScopeContent
Content was found that strypt deliberately does not touch, such as text drawn under a
redaction rectangle (docs/THREAT_MODEL.md §4.3).
FilenameMayIdentify
The filename itself may identify its subject. A scrubbed file called
IMG_survivor_address.jpg is not scrubbed in any meaningful sense
(docs/ARCHITECTURE.md §8).
CapabilityRemoved
Removing metadata cost the file something it could previously do — not what it renders,
but what it can still be used for. JPEG XL’s jbrd box is the case the variant exists
for: it holds the original JPEG’s marker segments, so it goes, and bit-exact JPEG
reconstruction goes with it (ADR-0036).
Trait Implementations§
impl Eq for Note
impl StructuralPartialEq for Note
Auto Trait Implementations§
impl Freeze for Note
impl RefUnwindSafe for Note
impl Send for Note
impl Sync for Note
impl Unpin for Note
impl UnsafeUnpin for Note
impl UnwindSafe for Note
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> 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.