Skip to content

atproto: verify noisebridge.net handle via DNS TXT record - #546

Merged
mcint merged 2 commits into
masterfrom
atproto-handle-dns
Aug 5, 2026
Merged

mcint merged 2 commits into
masterfrom
atproto-handle-dns

Conversation

@mcint

@mcint mcint commented Jun 20, 2026 •

Copy link
Copy Markdown
Contributor

Verify the noisebridge.net atproto/Bluesky handle via a DNS TXT record instead of the m3/caddy HTTP handler.

Change

Add to the noisebridge.net zone:

_atproto  IN  TXT  "did=did:plc:4fn5ffs6txnxxozezxio3v7o"

and remove the Caddy handle /.well-known/atproto-did block, along with the now-unused noisebridge_atproto_did var and its vault entry. SOA serial bumped.

Also it seems odd to store public attestation values encrypted in the vault—in principle, a reverse linkability argument, but not here.

Why

We want a validated domain handle on bsky, or rather in the atproto ecosystem

The DNS TXT method is the atproto-preferred mechanism, avoids a configuration complexity & drift in Caddy, and keeps the (non-secret) DID in the public zone file in plaintext — no vault entry needed.

I do plan to propose a later PR for HTTP and DNS monitoring, so we catch breaks on deploy.

Why not HTTP again

I think atproto validation expects that /.well-known/atproto-did gets served a 200 from noisebridge.net, and not a 302 to www.noisebridge.net with 200 there. www (in browser) is also blocked by anubis—in any case there's complexity, and configuration drift there.

The bare redir https://www.noisebridge.net{uri} in the noisebridge.net Caddy site shadows the handle /.well-known/atproto-did block (Caddy directive ordering), so the HTTP method silently 302-redirected that path to the wiki and never served the DID:

$ curl -sI https://noisebridge.net/.well-known/atproto-did
HTTP/2 302
location: https://www.noisebridge.net/.well-known/atproto-did

Scope

I'm proposing a DNS change. I'd also drafted, with claude, a deploy-time HTTP- & DNS-verification monitoring machinery originally bundled here, but I'm deferring it to a separate, reframed PR (general DNS + HTTP-probe monitoring, not atproto-specific). That WIP is preserved on the atproto-handle-dns-draft-wip branch.

@mcint
mcint force-pushed the atproto-handle-dns branch from f160d65 to f54dda3 Compare June 20, 2026 01:06
@mcint mcint changed the title atproto: verify noisebridge.net handle via DNS, with monitoring atproto handle via DNS + deploy-time DNS verification Jun 20, 2026
@mcint
mcint marked this pull request as draft June 20, 2026 01:34
@mcint
mcint force-pushed the atproto-handle-dns branch from 7a7b79f to 5d2c6fb Compare July 7, 2026 21:12
@mcint mcint changed the title atproto handle via DNS + deploy-time DNS verification atproto: verify noisebridge.net handle via DNS TXT record Jul 7, 2026
@mcint
mcint force-pushed the atproto-handle-dns branch from 5d2c6fb to 4744671 Compare July 7, 2026 21:26
@mcint
mcint force-pushed the atproto-handle-dns branch from 4744671 to 8eb3aac Compare July 7, 2026 21:27
@mcint
mcint requested a review from SuperQ July 7, 2026 21:35
@mcint
mcint marked this pull request as ready for review July 7, 2026 21:35
@ElanHR
ElanHR self-requested a review July 12, 2026 05:21
@mcint
mcint merged commit cc0339e into master Aug 5, 2026
1 check passed
@mcint
mcint deleted the atproto-handle-dns branch August 5, 2026 05:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants