I keep a registry of every account my automation touches. Last week I ran an audit because signups kept "succeeding" while posts kept not going out. The number that made me stop everything: 18 of my 37 accounts had no working access.
This is a diary entry, not a tutorial. Here is what actually happened.
The failure was never the signup. Every account got created, got a username, got a row in my profiles database. What I never built was a single canonical way to save the password. Three different scripts wrote credentials three different ways, and the earliest rows — from the very first week of this project — were saved with no password at all.
So "registered" never meant "usable." I had 37 rows and could not log into 18 of them if the session dropped. The session always drops eventually.
The second leak was quieter. On disk I found 14 cookie files that were never referenced from my credentials store. They were real sessions I had opened and then abandoned, each one a working login that the registry didn't know about. A working cookie with no pointer to it is the same thing as a lost account — it exists, and I cannot find it when I need it.
None of this was a bug in one script. It was the absence of one function. Once I forced every writer through a single cred_record path, the "registered but unreachable" class of account stopped appearing. The audit that found 18 dead rows now returns zero new ones.
The number I actually trust now is not 37, or 18, or 14. It is 0 — the count of accounts I add without a recorded way back in. That is the only metric that means anything in a portfolio I run unattended.
What broke was not the platform. What broke was me assuming a successful signup meant a usable account. It doesn't. Access is the product; registration is just the receipt.
Top comments (0)