koala73 / koala73/worldmonitor

feat(agent-readiness): Web Bot Auth — publish /.well-known/http-message-signatures-directory + sign seeder fetches (honest-crawler fix for #3799)

Open
#4,961 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

agent-readiness feature
Dominant language
TypeScript
Stars
87k
Forks
13.2k
Avg merge
8h 4m
Merged PRs (30d)
825

Description

Telnyx-parity review (2026-07-06). Telnyx serves a Web Bot Auth directory at /.well-known/http-message-signatures-directory with 1 Ed25519 JWK (kty=OKP, crv=Ed25519, kid, nbf, exp) and passes the emerging-check. We 404.

Two-sided value:

  1. Origin side (cheap): publish the directory so the emerging check and future agent-verification flows resolve.
  2. Crawler side (the real win): #3799 flagged that our Railway seeders reach OREF/corridor-risk sources by spoofing browser headers. Web Bot Auth (HTTP Message Signatures, RFC 9421 + the bot-auth draft) is the principled alternative: sign outbound seeder requests with an Ed25519 key, publish the public key in our directory, send a descriptive UA — origins can then verify us instead of us impersonating Chrome. Cloudflare already verifies WBA signatures, and several of our upstream sources sit behind Cloudflare.

Scope: key generation/rotation story (nbf/exp), directory file (static, .well-known already excluded from the SPA catch-all), signing middleware in the seeder fetch path, opt-in per source.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Read RFC 9421 and the bot-auth draft, then trace the seeder fetch path and the existing .well-known handling. The work is complete when the directory, key generation and rotation story, signed outbound fetches, descriptive user agent, and per-source opt-in are implemented without browser-header spoofing.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
api, backend, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.