# 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 ```bash npm install npm start ``` ## Build ```bash 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 --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