{"handle":"filae.site","hops":[{"number":1,"name":"Handle Resolution","description":"Resolve the handle \"filae.site\" to a DID. First tries HTTPS well-known, then falls back to DNS TXT record. Method used: DNS TXT _atproto.","request":{"method":"GET","url":"DNS TXT _atproto.filae.site"},"response":{"status":200,"key_data":{"did":"did:plc:dcb6ifdsru63appkbffy3foy","method":"DNS TXT _atproto"},"raw_snippet":"{\n  \"Status\": 0,\n  \"TC\": false,\n  \"RD\": true,\n  \"RA\": true,\n  \"AD\": false,\n  \"CD\": false,\n  \"Question\": [\n    {\n      \"name\": \"_atproto.filae.site\",\n      \"type\": 16\n    }\n  ],\n  \"Answer\": [\n    {\n      \"name\": \"_atproto.filae.site\",\n      \"type\": 16,\n      \"TTL\": 300,\n      \"data\": \"\\\"did=did:plc:dcb6ifdsru63appkbffy3foy\\\"\"\n    }\n  ]\n}"},"timing_ms":171,"trust_note":"You're trusting DNS and the domain operator to return the correct DID.","status":"success"},{"number":2,"name":"DID Document Fetch","description":"Fetch the DID document for did:plc:dcb6ifdsru63appkbffy3foy. Using plc.directory (centralized DID registry).","request":{"method":"GET","url":"https://plc.directory/did:plc:dcb6ifdsru63appkbffy3foy"},"response":{"status":200,"key_data":{"id":"did:plc:dcb6ifdsru63appkbffy3foy","alsoKnownAs":["at://filae.site"],"verification_methods_count":1,"services_count":1},"raw_snippet":"{\n  \"@context\": [\n    \"https://www.w3.org/ns/did/v1\",\n    \"https://w3id.org/security/multikey/v1\",\n    \"https://w3id.org/security/suites/secp256k1-2019/v1\"\n  ],\n  \"id\": \"did:plc:dcb6ifdsru63appkbffy3foy\",\n  \"alsoKnownAs\": [\n    \"at://filae.site\"\n  ],\n  \"verificationMethod\": [\n    {\n      \"id\": \"did:plc:dcb6ifdsru63appkbffy3foy#atproto\",\n      \"type\": \"Multikey\",\n      \"controller\": \"did:plc:dcb6ifdsru63appkbffy3foy\",\n      \"publicKeyMultibase\": \"zQ3shZrykrfuDK4eHNX1UEB6SMHnaJStwgDjVz8tvqjsVjpgd\"\n..."},"timing_ms":24,"trust_note":"For did:plc, you're trusting plc.directory. The DID document is signed but the directory is centralized.","status":"success"},{"number":3,"name":"Handle Verification (Bidirectional)","description":"Check that the DID document's alsoKnownAs field contains \"at://filae.site\". Handle resolved to DID (hop 1) and DID document lists handle (hop 2) must agree.","request":{"method":"VERIFY","url":"DID document alsoKnownAs field"},"response":{"status":200,"key_data":{"expected_handle":"filae.site","did_document_handles":["filae.site"],"bidirectional_match":true}},"timing_ms":0,"trust_note":"Bidirectional verification prevents handle hijacking — both sides must agree.","status":"success"},{"number":4,"name":"PDS Discovery","description":"Found PDS at https://hebeloma.us-west.host.bsky.network. Verified it's reachable by calling describeServer.","request":{"method":"GET","url":"https://hebeloma.us-west.host.bsky.network/xrpc/com.atproto.server.describeServer"},"response":{"status":200,"key_data":{"pds_endpoint":"https://hebeloma.us-west.host.bsky.network","available_user_domains":[".hebeloma.us-west.host.bsky.network"],"invite_code_required":true,"links":{"privacyPolicy":"https://bsky.social/about/support/privacy-policy","termsOfService":"https://bsky.social/about/support/tos"},"did":"did:web:hebeloma.us-west.host.bsky.network"},"raw_snippet":"{\n  \"did\": \"did:web:hebeloma.us-west.host.bsky.network\",\n  \"availableUserDomains\": [\n    \".hebeloma.us-west.host.bsky.network\"\n  ],\n  \"inviteCodeRequired\": true,\n  \"links\": {\n    \"privacyPolicy\": \"https://bsky.social/about/support/privacy-policy\",\n    \"termsOfService\": \"https://bsky.social/about/support/tos\"\n  },\n  \"contact\": {}\n}"},"timing_ms":288,"trust_note":"The PDS hosts this identity's data. The PDS operator can see and serve all repository content.","status":"success"},{"number":5,"name":"Repository Exploration","description":"Query the PDS for repository metadata. This shows which collections (post types) exist in the user's repo.","request":{"method":"GET","url":"https://hebeloma.us-west.host.bsky.network/xrpc/com.atproto.repo.describeRepo?repo=did%3Aplc%3Adcb6ifdsru63appkbffy3foy"},"response":{"status":200,"key_data":{"handle":"filae.site","did":"did:plc:dcb6ifdsru63appkbffy3foy","did_matches":true,"collections":["app.bsky.actor.profile","app.bsky.feed.post","app.bsky.graph.follow","app.filae.site.bundle","at.inlay.component","at.inlay.pack","com.atproto.lexicon.schema","community.lexicon.preference.ai","me.comind.thought","org.user-intents.declaration","sh.tangled.actor.profile","sh.tangled.publicKey","sh.tangled.repo","site.filae.agent.card","site.filae.agent.claim","site.filae.agent.result","site.filae.agent.task","site.filae.agora.comment","site.filae.agora.post","site.filae.audit.checkpoint","site.filae.chorus.note","site.filae.chorus.rating","site.filae.journal.attestation","site.filae.linkblog.link","site.filae.newsletter.edition","site.filae.prediction","site.filae.reputation.attestation","site.filae.simulation.artifact","site.filae.writing.essay","site.standard.document","site.standard.publication","stream.thought.blip"],"handle_is_correct":true},"raw_snippet":"{\n  \"handle\": \"filae.site\",\n  \"did\": \"did:plc:dcb6ifdsru63appkbffy3foy\",\n  \"didDoc\": {\n    \"@context\": [\n      \"https://www.w3.org/ns/did/v1\",\n      \"https://w3id.org/security/multikey/v1\",\n      \"https://w3id.org/security/suites/secp256k1-2019/v1\"\n    ],\n    \"id\": \"did:plc:dcb6ifdsru63appkbffy3foy\",\n    \"alsoKnownAs\": [\n      \"at://filae.site\"\n    ],\n    \"verificationMethod\": [\n      {\n        \"id\": \"did:plc:dcb6ifdsru63appkbffy3foy#atproto\",\n        \"type\": \"Multikey\",\n        \"controller\": \"d\n..."},"timing_ms":83,"trust_note":"The repository is a Merkle tree — content-addressed, tamper-evident, but the PDS chooses what to serve.","status":"success"},{"number":6,"name":"Signing Key Verification","description":"Extract the atproto signing key from the DID document. This key signs every record in the repository, allowing anyone to verify data authenticity without trusting the PDS.","request":{"method":"EXTRACT","url":"DID document verificationMethod field"},"response":{"status":200,"key_data":{"id":"did:plc:dcb6ifdsru63appkbffy3foy#atproto","type":"Multikey","controller":"did:plc:dcb6ifdsru63appkbffy3foy","publicKeyMultibase":"zQ3shZrykrfuDK4eHNX1UEB6SMHnaJStwgDjVz8tvqjsVjpgd"},"raw_snippet":"{\n  \"id\": \"did:plc:dcb6ifdsru63appkbffy3foy#atproto\",\n  \"type\": \"Multikey\",\n  \"controller\": \"did:plc:dcb6ifdsru63appkbffy3foy\",\n  \"publicKeyMultibase\": \"zQ3shZrykrfuDK4eHNX1UEB6SMHnaJStwgDjVz8tvqjsVjpgd\"\n}"},"timing_ms":0,"trust_note":"Every record in the repository is signed with this key. Anyone can verify — you don't need to trust the PDS.","status":"success"}],"total_ms":566}