FeaturesSharing

Send to a QubKey user

Send an encrypted entry to another QubKey user by email.

Share with a QubKey user sends the entry encrypted to a recipient who already has an account. They must accept the share to import it as a new entry in their own vault.

Encryption uses the recipient’s sharing public key (X25519 + AES-256-GCM). The package can be signed (Ed25519) so authenticity can be checked on receive.

Send a share

Prerequisites

Unlocked vault + signed-in QubKey account. Open the entry → Share with a user.

Recipient email

Enter the recipient’s QubKey account email. It must already exist and have published a sharing key.

Options and send

Choose rights, duration (expiration), and optionally Include attachments, then Send. A message confirms “Share sent”.

Technical flow

Share with a QubKey user

Look up recipient

Resolve the account email to a sharing public key

Encrypt on device

Wrap keys with X25519 and AES-256-GCM; sign the package

Deposit on sync

Store the encrypted envelope for the recipient

Inbox poll

Recipient sees a pending share in the app

Accept & import

Decrypt locally and add a new entry to their vault

The service sees account emails and envelope metadata — not plaintext entry contents.

In short: resolve the email → encrypt locally → deposit on the sync service → periodic inbox check → accept and import locally.

Encryption and what the service keeps

Encryption: entry / compartment keys are wrapped for the recipient’s X25519 public key; optional attachments are encrypted separately. The recipient decrypts only with their sharing private key (stored encrypted in their vault).

What the service keeps: emails of the accounts involved, technical envelope ids, dates, status (pending, accepted, revoked), rights — and the encrypted package. It does not read entry contents.

Details: What the servers can see.

Granted rights

You can limit what the recipient may do with the imported copy: read, modify, duplicate into their vault, create a temporary link, or forward to another user. By default all rights are granted; you can adjust them when sending or later.

Tracking and revoke

The list of shares sent for the entry lets you Revoke a still-pending send. After revoke, the recipient can no longer accept (the service then refuses to serve the package).

On the recipient side: inboxAccept (imports into their vault) or Dismiss.

Good to know

Recipient import

Common failures: recipient account does not exist, missing sharing key, share revoked before accept, or expired. The recipient gets a new entry — it does not merge into an existing one on their side.