State the UUID-is-the-credential rule as a rule (closes #301) #302
Reference in New Issue
Block a user
Delete Branch "clawbot/docs-uuid-is-the-secret"
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?
Closes #301. Docs-only apart from one test comment; no behaviour change.
The receiver has authenticated on the entrypoint UUID alone since inbound signature verification was removed in #279. The README described that as the current state. It did not say it is the decision, which leaves a future contributor free to propose HMAC as an improvement rather than as a reversal.
What changed:
## The entrypoint URL is the authentication secretnow states the rule: the v4 UUID at/webhook/{uuid}is the credential and the only one; no shared secret, HMAC signature, bearer token or second factor will be added, including as defence in depth. It names the removal that settled it, and it says explicitly that signature headers a sender sends anyway are stored and forwarded but never checked — the previous text left that ambiguous./metricsand said nothing about the receiver at all), and a sharpened bullet under Security.Stale language found and corrected: one, in
internal/delivery/redirect_test.go. Its comment justified same-origin header retention partly by "the inbound signature the receiver verifies" — in this repo's vocabulary "the receiver" is/webhook/{uuid}, which verifies nothing. The endpoint that verifies it is the delivery target's, and the comment now says so.Two places that read like stale signing language were checked and left alone as accurate:
internal/delivery/redirect.goandinternal/server/sentry.godescribe signature headers senders put on the receiver route, which do arrive and are forwarded — neither claims webhooker checks them.REPO_POLICIES.mdwas deliberately not touched. It is the cross-project policy document synced fromsneak/promptsand carrieslast_modifiedfront matter for that purpose, so a webhooker-specific carve-out does not belong in it. Worth knowing: its hardening section ends "if a standard security hardening measure exists for HTTP services and is not listed here, it is still expected. When in doubt, harden" — that is the sentence a future HMAC proposal will cite, and only the README now answers it.TODO.mdis untouched per its own Workflow section (issue branches do not touch it).View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.