How Kordon security works
How Kordon security works: no admin rights, pause before sleep, crash protection, a server without IP addresses, Ed25519-signed sign-in and updates you can verify with OpenSSL.
- On the computer: no admin rights; the panel talks to Kordon on
127.0.0.1with a random key in a user-only file, and checks the host, the key and the origin (DNS rebinding and CSRF); the browser extension answers only to extensions; secrets on disk are0600. - Beyond a plain kill switch: apps are paused right before the computer sleeps and let go only after a fresh IP check on waking; if Kordon crashes or is killed, a watchdog pauses the protected apps until it's back; IPv6, DNS, WebRTC, proxy-bypass and per-service route checks;
kordon runfor a single command on a server or in CI. - Our server knows the Telegram chat id, a SHA-256 hash of each computer's secret, the computer's name, and - for the remote, while signed in - status, country, protected app names and weekly numbers, in memory, never IP addresses. No access log; rate limiting lives in nginx memory only.
- Sign in: an Ed25519-signed ticket from the server, valid 7 days, refreshed every 6 hours, checked against a key built into the app.
- Updates:
SHA256SUMS.txtis signed with an Ed25519 key only the owner holds; Kordon installs nothing without a valid signature, even if the GitHub account were taken over. Every release is built on GitHub Actions, not on someone's computer. macOS builds are Developer ID signed and sent to Apple for notarization. Verify a release yourself (OpenSSL 3):
printf -- '-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAV0AkZc32DAnaNF2S9eJL+jsWdLjlSnLwAdxmysIs3MQ=\n-----END PUBLIC KEY-----\n' > kordon-update.pem
base64 -d < SHA256SUMS.txt.sig > SHA256SUMS.sig.bin
openssl pkeyutl -verify -pubin -inkey kordon-update.pem -rawin -in SHA256SUMS.txt -sigfile SHA256SUMS.sig.bin
shasum -a 256 -c SHA256SUMS.txt --ignore-missing- Report a vulnerability in the bot @kordon_security_bot (Support → Write). Please don't publish details before a fix is out; we answer within 72 hours.




