Automattic / Automattic/gravatar
Feature Request: PGP Integration for Identity Verification
- Dominant language
- TypeScript
- Stars
- 361
- Forks
- 125
- PR merge metrics
- No merged PRs in 30d
Description
## Description / Use Case
Integrate [PGP](https://en.wikipedia.org/wiki/Pretty_Good_Privacy) public keys into Gravatar profiles to enable cryptographic identity verification. This would allow users to prove ownership of their profile, enhancing trust and preventing impersonation. It would also turn Gravatar into a massive, easily searchable directory for PGP public keys, facilitating secure communication, much like [Keyoxide](https://docs.keyoxide.org).
## Proposed Solution
1. **Add Key**: Users add their PGP public key to their Gravatar profile.
2. **Verify Ownership**: Gravatar provides a unique text string for the user to sign with their corresponding private key.
3. **Confirm Signature**: The user submits the generated signature, which Gravatar's backend verifies.
4. **Display Proof**: Upon successful verification, the profile displays a "verified" badge, the key [fingerprint](https://en.wikipedia.org/wiki/Public_key_fingerprint), and a link to the public key, with this data also available via the Gravatar [API](https://en.gravatar.com/site/implement/).
## Alternatives
The main alternative is using separate services like [Keyoxide](https://docs.keyoxide.org). However, Gravatar's widespread integration offers a unique opportunity to bring this functionality to millions of users seamlessly. While protocols like [OAuth](https://oauth.net/) and [OIDC](https://openid.net/connect/) can verify account access, PGP provides a stronger, more portable cryptographic proof of identity.
## Additional Information
This feature is inspired by [Keyoxide](https://docs.keyoxide.org)'s successful implementation of PGP-based identity proofs. Adopting this model would evolve Gravatar from an avatar service into a fundamental tool for modern, [decentralized digital identity](https://en.wikipedia.org/wiki/Decentralized_identity).
Contributor guide
Research direction
Start by reviewing the Gravatar profile and API entry points mentioned in the issue, along with the backend flow for adding keys, verifying signatures, and exposing proof data. The issue names no files or tests, so first establish the relevant implementation boundaries. Done means users can add and verify a PGP key, and verified profiles and API responses show the specified proof details.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- api, cryptography, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100