Replies: 2 comments 1 reply
|
Looks like a nice mockup, but this project does not develop or maintain any client, including the web-vault. |
0 replies
|
Thanks for clarifying, and for pointing me to the FAQ. I understand that Vaultwarden intentionally does not develop or maintain client-side features, including web-vault-only additions, so I will not open an implementation PR in this project. Our immediate use case is an enterprise deployment that relies only on the web vault, but I understand that this would still be a downstream client customization rather than a Vaultwarden server feature. I will evaluate proposing it upstream to Bitwarden or maintaining it explicitly as an internal downstream customization. |
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Summary
I would like to propose a narrowly scoped web-vault feature: create a temporary,
structured sharing link directly from an existing Login item, while reusing the
current encrypted Text Send transport and all existing Send access controls.
This is related to Password Sharing Features?
and Possibility of internal exchange of login data,
but it is intentionally not a proposal for live item sharing, recipient vault
membership, or organization-less synchronization. It is an immutable snapshot for
an external link, similar to preparing a Text Send, without manually copying each
credential field.
Before implementing this, I would like maintainer feedback on whether the direction
fits Vaultwarden and where the client changes should live.
Problem
Today, a user who wants to share an existing credential by link has to:
The existing Send security and lifecycle controls are useful, but the manual
conversion loses field semantics and makes accidental omission or over-sharing more
likely.
The proposed user flow is:
The screenshots below are a design proposal, not implemented functionality.
Proposed sender entry point.
Proposed field selection and sensitivity disclosure.
Proposed access settings using existing Send controls.
Proposed structured recipient view on desktop.
Proposed structured recipient view on mobile.
Proposed v1 architecture
No Vaultwarden server, API, or database schema change is required for v1.
The server continues to store only the current encrypted Send fields and does not
interpret credential values or the structured envelope.
An abbreviated payload would look like this:
{ "schema": "vaultwarden.item-share", "version": 1, "itemType": "login", "snapshotCreatedAt": "2026-07-15T10:00:00.000Z", "fields": [ { "id": "username-1", "kind": "username", "label": "Username", "value": "user@example.invalid", "sensitive": false, "copyable": true }, { "id": "password-1", "kind": "password", "label": "Password", "value": "not-a-real-secret", "sensitive": true, "copyable": true } ] }Suggested v1 limits:
username,password,url,text, andhidden.http:orhttps:URLs.Send renderer without throwing.
Field and permission boundaries
Default selected fields:
viewPasswordpermits it;Explicitly available but not selected by default:
Excluded from v1:
Sensitive snapshot creation should use the existing user-verification or item
re-prompt path. Canceling or failing verification must create no Send.
DisableSend,SendOptions,viewPassword, password-gated access, deletion andexpiration dates, disabled state, and maximum access count remain authoritative.
This feature does not allow a Vaultwarden administrator to decrypt another user's
personal vault.
It does make externalization easier for a user who already has both field access and
Send access. Organizations that prohibit external sharing should continue to
enforce
DisableSend.Lifecycle and defaults
The link contains a one-time snapshot:
through existing behavior.
Suggested defaults are one day, one view, and sensitive values hidden. The recipient
view should display snapshot time and expiration so the non-synchronized lifecycle
is explicit.
Compatibility limitation
The main v1 risk is cross-client behavior. An unmodified client can treat the
payload as an ordinary hidden Text Send and reveal raw JSON. Setting
SendView.text.hidden = truereduces accidental exposure, but does not make this agood experience outside the modified public web client.
I do not want to hide this limitation. Maintainer guidance is needed on whether:
Likely implementation areas
Using the current Vaultwarden web-vault fork, the change appears to be concentrated
in:
libs/vault/src/vault-item-dialog/for the sender entry point;
apps/web/src/app/tools/send/send-access/for the structured recipient renderer and legacy fallback;
SendServiceand Send form configuration, without changing their encryption or policy roles.
Required tests would cover the allowlist, permission gates, exclusion of TOTP and
passkey data, verification cancellation, strict parser limits, text-only rendering,
safe URL protocols, legacy fallback, existing Send lifecycle states, keyboard
operation, and desktop/mobile reflow.
Questions for maintainers
too large a client deviation?
vaultwarden/vw_web_builds,dani-garcia/bw_web_builds, or first be proposed toupstream Bitwarden clients?
should the payload format provide a readable legacy representation?
repository ownership are agreed here?
I can prepare the implementation and tests after receiving direction on these
questions.
All reactions