Open-Source Wikis

/

Bitwarden Server

/

Primitives

/

Send

bitwarden/server

Send

A Send is an encrypted, time-bounded share. Defined at src/Core/Tools/Entities/Send.cs and persisted to dbo.Send.

Important columns

Column Notes
Id (Guid), UserId Owner.
OrganizationId Always null at the moment — Sends are personal-only.
Type SendType enum: Text or File.
Data Encrypted JSON payload. For File, the data references an Azure Blob upload.
Key The Send-specific key, wrapped under the user key.
Password Optional password hash gating access.
MaxAccessCount, AccessCount Hard cap on accesses.
ExpirationDate, DeletionDate Time bounds. DeletionDate is the auto-purge date.
Disabled, HideEmail Owner toggles.
RevisionDate, CreationDate Audit.

Stored procedures

  • Send_Create, Send_Update, Send_DeleteById.
  • Send_ReadByUserId — used during sync.
  • Send_DeleteExpired — bulk cleanup, called by the SendCleanupJob Quartz job.

Access flow

graph LR
    Owner -->|POST /sends| Send
    Send -->|share URL| Recipient
    Recipient -->|POST /sends/access/<accessId>| AccessController
    AccessController -->|password check| SendAuthorizationService
    AccessController -->|return SendAccessTokenable + ciphertext| Recipient
    Recipient -->|client decrypts| Plaintext

The recipient never authenticates as a Bitwarden user. The token returned is a SendAccessTokenable scoped to that Send.

Repositories

  • Interface: src/Core/Tools/Repositories/ISendRepository.cs.
  • Dapper / EF impls under src/Infrastructure.Dapper/Tools/ and src/Infrastructure.EntityFramework/Tools/Send/.

Where it shows up

Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.

Send – Bitwarden Server wiki | Factory