|
|
@@ -1045,6 +1045,23 @@ with a `BOOTSTRAP_ADMIN` audit row.
|
|
|
unchanged. *New sprint* stays in the header as the one
|
|
|
quick-action admins reach for from any page.
|
|
|
|
|
|
+- [x] **R01-N04 — `SESSION_SECRET` removed from env template + docs**
|
|
|
+ (`296883c`). The env var was documented as the salt for the
|
|
|
+ session cookie name / CSRF tokens but nothing in the code reads
|
|
|
+ it (`SessionGuard` doesn't reference it; CSRF tokens are
|
|
|
+ `bin2hex(random_bytes(32))`; the session id is PHP-generated).
|
|
|
+ Operators who rotated the secret expecting sessions / tokens to
|
|
|
+ invalidate got a false sense of security. Took the "remove it"
|
|
|
+ branch from REVIEW_01's two options — wiring the value into a
|
|
|
+ CSRF HMAC or session-id derivation is recorded as a follow-up if
|
|
|
+ a deploy-time rotation knob is wanted later. Touched
|
|
|
+ `.env.example`, `README.md`, this file's §8, and
|
|
|
+ `doc/admin-manual.md` (dropped §3.3 entirely; renumbered the
|
|
|
+ remaining `Database / Environment / Local admin` subsections from
|
|
|
+ §3.4-§3.6 down to §3.3-§3.5). Existing deployments' `.env` files
|
|
|
+ keep their (now-dead) `SESSION_SECRET=` line; harmless. Pure docs
|
|
|
+ change — no code, no test count delta.
|
|
|
+
|
|
|
- [x] **R01-N02 / R01-N31 — Runtime panel on `/` is now admin-only**
|
|
|
(`7fd849b`). `views/home.twig`'s "Runtime" `<details>` block was
|
|
|
previously rendered for anonymous visitors as well as admins,
|
|
|
@@ -1174,6 +1191,8 @@ before acting — nothing here is load-bearing once it grows stale.
|
|
|
## 13. Git history (as of this writing)
|
|
|
|
|
|
```
|
|
|
+296883c Fix R01-N04: drop unused SESSION_SECRET from env template + docs
|
|
|
+18389bb Docs: mark R01-N02 / R01-N31 fixed, refresh SPEC §9 / §11 / §13
|
|
|
7fd849b Fix R01-N02 / R01-N31: gate runtime panel on home page to admins
|
|
|
912ef9b doc/REVIEW_01.md: initial security + fishy-pattern audit
|
|
|
756650a SPEC.md: note new-sprint form weeks-drop + task list row hover
|