Security Practices

How this site handles your account, your data, and the credentials behind it. Written to be read by anyone — no configuration details, addresses, or account names appear here.

The short version: your password cannot be read by anyone, including the site's own administrator. Your contact details are visible only to the administrator, and every other system that touches this database is restricted to the narrowest slice of it that its job requires.
Your password is never stored

Passwords are put through scrypt, a deliberately slow, memory-hard one-way function, together with a random per-account salt. What's stored is the result — not the password, and not an encrypted copy of it. There is no key and no procedure that turns it back into your password, because the information simply isn't there any more.

When you sign in, what you typed is put through the same process and the two results are compared. That's how the site can confirm your password is correct without ever knowing what it is. The administrator can reset an account — replacing the stored value so a new password works — but cannot look one up.

The random salt means two people who happen to choose the same password have completely different stored values, so it isn't possible to tell that they match, and precomputed cracking tables don't apply.

Password reset links

A reset link contains a single-use, time-limited random token. Only a hash of that token is stored, so the link that reaches your inbox is the only usable copy. Someone reading the database would find nothing they could redeem.

Least privilege between systems

The site generates a daily written recap using a language model. The machine running that model needs a way to receive work and return text — and nothing more, so that's all it can do:

Text produced by the model is filtered before it's shown to anyone: only a small set of formatting tags survives, and HTML attributes are removed entirely, so generated content cannot introduce active code into a page.

Account and session protection
How credentials are handled
What we don't claim

No system is perfectly secure, and a page claiming otherwise should be read sceptically. What's described here is a specific, verifiable set of measures, each chosen because it contains a specific failure. Two things follow from that honesty:

Found something that looks wrong? Please report it rather than testing it against other people's accounts — it will be taken seriously and fixed.

Curious how a change gets from an idea to something running here, and what stops a mistake before it reaches this page? See How This Gets Built Safely.