Keys are shown once
Only a hash of each key is stored. A lost key is revoked and replaced, never shown again.
DokkitSecurity
What the program can and cannot do on your machines, what your server keeps, and how to check a release yourself before you trust it.
The dokkit program opens no port. It makes one connection out to your server and keeps it open. Nothing can connect in to it.
dokkit.toml files in folders you added.Everything stays on your own hardware, in your own Postgres. Logs are kept a year, then archived to a folder you name.
Only a hash of each key is stored. A lost key is revoked and replaced, never shown again.
One to enrol a machine, one per machine, one per app, and tokens for people and their agents. Each can do only its own job.
A token that can do everything is made only after you type the server's own address. Every other token is limited to what you switch on.
Errors keep their type and their stack. The message, where personal data ends up, is kept only for a service you set to keep it.
The owner account needs the setup code the server printed when it started, so nobody else on the network can claim it first.
Each person can add an authenticator app, with recovery codes for the day the phone is lost.
Every release carries a list of its files' SHA-256 sums, signed with the release key. The installers and the updater refuse anything whose signature does not check.
The release key, as Ed25519:
xX87EOVIFN9AkYL7vMj40ivpQ36bRyvJGLOMIbgAmRk=Download SHA256SUMS, SHA256SUMS.sig and the files you want from the release, into one folder.
-----BEGIN PUBLIC KEY----- MCowBQYDK2VwAyEAxX87EOVIFN9AkYL7vMj40ivpQ36bRyvJGLOMIbgAmRk= -----END PUBLIC KEY-----
as release-key.pem.
base64 -d SHA256SUMS.sig > sig.bin && openssl pkeyutl -verify -pubin -inkey release-key.pem -rawin -in SHA256SUMS -sigfile sig.binIt prints Signature Verified Successfully.
sha256sum -c SHA256SUMS --ignore-missingThe project hands out no builds signed with anyone's code-signing certificate. Whoever builds signs their own.
The phone apps are read-only. Your server seals a snapshot each minute and leaves it at a relay; the phone fetches it and opens it. The relay cannot read it, and nothing comes back in.