Skip to main content

Secure Sharing

Share credentials without the recipient needing vault access. The credential is encrypted client-side; the share link contains the encrypted payload and a separate key. The server (or recipient) never sees both together.

Functions

Create an encrypted share payload and decryption key. Returns: Promise<{ payload: string; key: string }> Decrypt a share link back into a passport.

createOneTimeShare(passport, expiresInMinutes?)

Create a share that can only be viewed once. Default expiry: 60 minutes.

createMetadataShare(passport, options?)

Share passport metadata only (name, type, platforms, status) — no credential value.

getShareInfo(payload)

Inspect a share without decrypting: scope, expiry, view count.

isShareValid(payload)

Check whether a share has expired or exceeded its view limit.

URL Helpers

  • createShareUrl(baseUrl, payload, key) — Construct a share URL
  • parseShareUrl(url) — Extract payload and key from a URL