keybase / keybase/keybase-issues

Separate profiles/keyserver and accounts/webGPG

Open
#180 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
No language data
Stars
899
Forks
40
PR merge metrics
No merged PRs in 30d

Description

Keybase has two clusters of features.

**Profiles** display folks' keys and info about them, as well as linking to signed statements that they control particular social media accounts. Their function is to display and communicate information, not to be heavily interactive. This cluster of functionality is a lot like a traditional SKS keyserver, except from the present, not the nineties.

**Accounts** allow folks to _do_ a bunch of neat stuff with GPG. One can upload a hopefully-client-encrypted key, use it through a web interface, send and receive messages and whatnot. This is a whole bunch of interactive functionality, which we might expect to have total feature parity with the command line client.

---

Suggestion: completely separate these features.

Make the **profiles** functionality completely key-based, without any user accounts needed. If someone uses the CLI client, they should be able to generate a key and all the ancillary info for their profile, and upload it. Keybase should verify signatures, and display valid information based purely on the authenticity of the key. This would make the profile functionality of keybase possible to federable (#162), and protects Keybase from being a sole authority and single point of failure. Keybase could even sync with SKS keyservers behind the scenes, and only display keys which had data packets containing Keybase-specific info like proofs.

The **accounts** functionality then becomes an independent web- (or browser-add-on) GPG client. It has all the interactive features currently planned, like sending and receiving messages, or generating and verifying proofs. It's a full client for the Keybase profile system. In fact, a user might not even realize that these two services are separate, because the Keybase web client automatically generates keys with Keybase-profile information attached and uploads them to the profile service. The CLI client has the same features, but allows users to operate from their own machines. Not all the CLI functionality necessarily needs a Keybase user account.

Contributor guide

No contributing guide indexed for this repository

Research direction

The issue names no files, tests, or entry points; begin by mapping the current profile and account functionality in the Keybase client and website. Done would require an agreed design that separates key-based profiles from interactive accounts, including their interfaces and responsibilities.

Written by the indexing model from the issue text.

Assessment

Domain
authentication, backend-api-design, cryptography
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.