Prove a signature
Current, compatible GitHub SSH signing keys can test a signature made by the owner's private key. Public material can verify; it cannot impersonate the signer.
GitHub Key Atlas · public material only
Mention a GitHub user and see which public keys are meant to verify, encrypt, authenticate, or be refused. A handle discovers candidates; a fingerprint and your policy establish trust.
Private stays private. This page never asks for a private key. Message plaintext stays in this tab.
01 · Resolve capabilities
Lookup is explicit and bounded. SignedData groups current public directory entries by their declared job, then shows the fingerprint you would pin.
Expect signing keys under VERIFY, encryption-capable subkeys under ENCRYPT, authentication-only keys under LOGIN ONLY, and unsafe lifecycle states under REFUSED.
02 · Keep roles separate
Algorithm compatibility is necessary, but it is not permission to quietly repurpose a key.
Current, compatible GitHub SSH signing keys can test a signature made by the owner's private key. Public material can verify; it cannot impersonate the signer.
Only active GPG subkeys that explicitly declare an encryption capability are eligible. The output must name its format and exact recipient fingerprint.
An ordinary SSH authentication key is for proving possession during login. This lab displays that role but never turns it into a recipient-encryption key.
Expired, revoked, malformed, or unsupported material remains visible as an explanation, never as an enabled cryptographic action.
03 · Local encryption
The action enables only when the selected identity exposes a current, non-revoked encryption key supported by this local lab. It reads the live GitHub directory with no-store semantics before encryption and again immediately before release, accepts X25519/approved ECDH curves or 3072–8192-bit RSA encryption keys, and allows at most 60 seconds from click and each directory check to release. It pins AES-256 with no compression and MDC integrity, then self-opens and revalidates the exact certificate key. Unsupported keys, removal observed by either directory read, suspension, clock rollback, or packet-policy drift are refused.
Shareable ciphertext
Encryption is an intentional transformation with a decrypt step. It is separate from SDB1's promise to preserve an authenticated raw payload unchanged.
04 · Generic SSHSIG inspection
The signer creates the signature with their private key elsewhere. This page checks an arbitrary message and caller-selected namespace against compatible public signing keys returned by a fresh GitHub lookup. A result is released only within 60 seconds of the click and completed directory check, without a visibility or continuity change. It does not parse an SDB1 record or enforce the stricter SDB1 SSHSIG profile.
Directory is not authority
Fetch bounded public candidates from an allowed GitHub endpoint.
Reject wrong jobs, unsupported algorithms, expiration, and revocation.
Check the exact namespace, message, signature, and public key. SDB1 framing and claim policy remain unchecked.
Use a fingerprint and stable application identity rule before granting authority.
A GitHub lookup says which keys the account publishes now. Durable systems need pinned fingerprints, rotation history, and an explicit policy for removed keys.
The rule worth remembering
Use public directories for discovery, complete fingerprints for key identity, and application policy for authority.