Narrow the altcha no-bypass rule to the unit and functional suites #26
Loading…
Reference in a new issue
No description provided.
Delete branch "docs/altcha-browser-automation-exception"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
docs/Topics/Auth-Hardening.md§ 6 told the reader flatly not to add a kill switch forthe proof-of-work check, and the adoption checklist asked for "no bypass flag".
someones.computer now ships exactly such a flag, deliberately and with the repo owner's
decision behind it:
ALTCHA_ENABLED, defaulting to1in.envand set to0only incompose.ci.yamlfor the Playwright stack(Grey.ooo/Someones.Computer#662,
commit
3ff859f). A standard the reference implementation openly violates stops being readas a rule, so this narrows the rule to what it was actually protecting.
What changed
config/packages/altcha.yaml,.envandcompose.ci.yaml, where the argument livesWhy the blanket ban was wrong rather than merely inconvenient
executing JavaScript; a browser-automation suite executes it.
well under a second while the widget dynamic-imports ~110KB, fetches a challenge and solves
it — so the doc's own remedy, turning
maxNumberdown, does not fix it and only makes theflake rarer and harder to read.
when@testcannot reach it. An E2E stack runs the built image atAPP_ENV=prodonpurpose, so an env var read at runtime is the only mechanism that gets to a compiled prod
container.
What the rule protects still holds and is stated as such: the PHPUnit suite goes on solving
challenges honestly at a work factor of 100, so the control stays exercised end to end. The
new text also says plainly that this does not generalise past proof of work — it is the one
control whose value against a real browser is zero, and anything else asking for the same
treatment is asking to stop testing something.
Verification
Prose only —
docs/Topics/Auth-Hardening.md, 39 insertions, 5 deletions, no other file. Thisrepo ships no CI and no markdownlint config; line lengths were checked by hand against the
file's existing wrap (no new non-table line over 100 columns, matching the rest of the doc).
Every claim about the implementation was read out of
3ff859frather than recalled —AltchaChallenges::verify(),config/packages/altcha.yaml,config/services.yaml,.envand
compose.ci.yaml.Not in scope, and following separately: the submodule pointer bump in
Grey.ooo/Someones.Computer, which is a gitlink and therefore code, not docs.