Before 1.0, only the newest released 0.x version receives security fixes.
| Version | Supported |
|---|---|
| 0.1.x | Yes |
| Older | No |
Read THREAT_MODEL.md before using the package. The precise claim is:
Given the container alone, an adversary cannot distinguish a real encrypted slot from a randomly-filled empty slot with better than negligible advantage over guessing.
The physical slot count is observable. This project does not protect secrets on a compromised or unlocked host.
If you discover a security issue, do not open a public issue with exploit details.
- Open a private GitHub Security Advisory if this repository is hosted on GitHub.
- If a private advisory is unavailable, use the private maintainer contact published in the repository or package metadata.
- Include a concise description, affected version, impact, and a proof of concept only when it can be shared safely.
- Allow time for triage and remediation before public disclosure.
Never include a real passphrase, plaintext, derived key, or production container in a report. Use synthetic fixtures.
- Treat historical
rsa_private.pem,rsa_public.pem,secret.key, andcrypto_log.txtfiles as compromised. - Rotate any secrets that were ever protected by those files.
- Use strong, unique passphrases from a password manager.
- Avoid swap and hibernation where the host threat model requires it.
- Restrict container file permissions and securely delete plaintext source data according to the storage medium's limitations.
- Never paste secret material into issues, logs, telemetry, or crash reports.
The format and cryptographic implementation have not been independently
audited. A cryptography specialist must review THREAT_MODEL.md and
src/keyprism/crypto.py before a 1.0 tag.