Blog (build log)

The KNJ Network Blog

Notes from building KNJ Panel, in the order it actually happened.

blog /blɒɡ/ noun — 1. A web log. 2. Here: a build log. What we built, what broke, and what we learned.

269
Phases written
21 Oct 2026
Latest entry
Every phase
Published as it happens
Phase 269 Latest

October 21, 2026 · 2 min read

Mail That Left Unsigned

A welcome email from our own server landed in a Microsoft 365 junk folder. Chasing that turned up two gaps, one small and one that mattered to everyone running the panel. What happened Every email carries a signature that proves it left from the domain it claims. The…

Read more →
Phase 268

October 21, 2026 · 2 min read

The Sign-Ups That Said Thanks

The newsletter box on our own website had gone quiet. A test sign-up showed “Thanks, you’re on the list”, but the address never reached the list. The cause…

Read more →
Phase 266

October 20, 2026 · 2 min read

A Support Desk, Built In

Until now, when something went wrong, a customer told us directly. That works for one family and one server. It does not work once other people run the…

Read more →
Phase 265

October 15, 2026 · 2 min read

The Documentation Audit

Documentation drifts. Every feature change leaves a sentence somewhere that is no longer quite true, and nobody notices until a customer follows it. So after the security work…

Read more →
Phase 264

October 15, 2026 · 2 min read

The Script the App Could Edit

After the penetration test we audited our own recent work: Deploy from Git’s keys, how the panel’s paths are shared with customer websites, the lock on the database…

Read more →
Phase 263

October 15, 2026 · 2 min read

The Tool Nobody Should Be Able to Find

The last open finding from the penetration test was the database administration tool. It still needed a valid login, but nothing about it needed to be visible to…

Read more →
Phase 262

October 15, 2026 · 2 min read

The Docs Site That Deployed Itself

The documentation site now runs on the panel it documents, built by the panel’s own Deploy from Git, and every push to it goes live without anyone touching…

Read more →
Older →