Skip to the content

—/Security

What we checked, and when.

Every line on this page was checked on the installation our own team uses every day. Where something is still open, it is listed at the bottom.

Checked 19 Oct 2026

  1. One way in from the internet.

    Our public sites reach our servers through a single Cloudflare tunnel. On the server that holds our team’s workspace, the firewall refuses incoming connections by default.

    How we checked Ten public addresses looked up from outside: all point to Cloudflare. Firewall state read on the server.

  2. Server logins need a key.

    Logging in to either of our servers needs a key. Password logins and logins as the administrator account are switched off.

    How we checked The login service’s effective settings, read on both servers.

  3. The chat needs an account.

    Without signing in, requests to the chat’s programming interface are refused.

    How we checked Two of its routes called with no credentials: both answered “not authenticated”.

  4. Shared files use signed links.

    A download link carries a signature and an expiry. A link with a wrong signature is refused.

    How we checked A forged link was refused with “bad token”.

  5. Team areas need a sign-in.

    Our team’s workspace refuses its files and editors without a signed-in session, and sends its private pages to the sign-in screen.

    How we checked Files and editor routes called with no session: refused; private pages: redirected to sign-in.

  6. No keys in our code.

    A search for keys and passwords across our code repositories found none.

    How we checked Pattern search over five repositories, 19 Oct 2026; the only hits were the search’s own test patterns.

Still open

  • We hold no security certificate, and no outside firm has audited us yet.
  • Some of the models offered in our team’s chat are run by outside AI providers. When someone picks one of those, that request leaves our machines; the models we run on our own hardware keep everything in-house.