Harden file permissions and redact secrets from Debug output
Security hardening across all three crates:
File permissions: config, identity, session, and keyring files are now
written with 0600 permissions via write_sensitive_file(), directories
with 0700 via ensure_sensitive_dir(). Loading identity.json checks
permissions and bails with a chmod hint if group/world-readable.
Debug redaction: new opake-derive crate provides #[derive(RedactedDebug)]
with #[redact] field attributes, generating Debug impls that show byte
length instead of content. Applied to ContentKey, EncryptedPayload,
Session (JWTs), and Identity (private keys).
sans-self.org
5b144b22
77f811b3