perform your own verifications verifier.psingletary.com/verifier
JavaScript 94%
CSS 3%
HTML 2%
Shell 1%

README.md

Verifier #

A lightweight tool for creating and managing Bluesky verification records (app.bsky.graph.verification) on an account's PDS.

Features #

  • Verify accounts: Create verification records attesting to a Bluesky/ATProto account's identity
  • Bulk-verify user lists: Select one of your Bluesky lists and verify all members in one operation (skips accounts you've already verified)
  • Manage verifications: View and revoke verifications you've issued
  • Duplicate detection: Already-verified accounts are flagged before you verify
  • Bluesky OAuth login: Authenticate with your Bluesky/ATProto account

What are verification records? #

Verification records (app.bsky.graph.verification) are entries written to your Personal Data Server (PDS) that attest to the identity of another account. They are a building block for decentralized trust on the AT Protocol.

Usage #

  1. Log in with your Bluesky handle
  2. Navigate to the Verifier page
  3. Choose Account mode to verify a single handle, or User List mode to bulk-verify a list
  4. Enter a handle (e.g., username.bsky.social) or select a list
  5. The verification record(s) are written to your PDS
  6. View or revoke your existing verifications at any time

Development #

npm install
npm start

Build #

npm run build

The build/ directory contains the static site ready for deployment.

Deployment #

This app is a fully static React SPA and can be deployed to:

  • Wisp.place: wispctl deploy <handle> --path ./build --site verifier --spa
  • Tangled: Configure the repo's Sites settings with deploy directory /build
  • Any static host: Serve the build/ directory with SPA fallback to index.html

OAuth Configuration #

OAuth client metadata lives in:

  • src/contexts/AuthContext.js — clientMetadata object
  • public/client-metadata.json — served at /client-metadata.json

Both must match the deployed domain. Update them if you change domains.

License #

MIT