Docs / Security
Security
Assumptions are listed. Marketing words are not.
Host keys
First connection: show host, address, key type, SHA256. Trust or cancel. Later match: connect. Later mismatch: block. Replacing a recorded identity requires typing the hostname. This is slower than “click OK”. That is the point.
Vault
Secrets are AES-256-GCM blobs (12-byte nonce, 16-byte tag, 32-byte master key). On unpackaged Windows the master key is a DPAPI file under AppData, because unpackaged SecureStorage hangs without package identity. Local malware running as you can still read process memory. We still refuse plaintext secret columns and secret logs.
Paths
Remote names with .., NUL, or newlines are rejected. Local combines are rooted so a hostile filename cannot walk out of the destination folder.
AI
Terminal output is data, not instructions. User-owned API keys. Redaction of tokens and Authorization headers before send. No tool in Tlyrn executes a generated command. Risk labels are a heuristic.
Cloud
PUT /sync is designed to carry ciphertext. A stolen server snapshot should not yield SSH passwords. Backup export uses a separate password (PBKDF2, 210,000 iterations).
Out of scope
This tree is not production code-signed. The updater is not a trusted channel yet. Do not install a zip whose SHA256 does not match the download page.