Skip to main content

Document Sharing

Documents are linked to business entities such as contracts, properties, bills, expenses, and maintenance requests. Future functionality should allow controlled sharing between parties.

Sharing flow

  1. A user selects a document.
  2. The user selects one or more recipient parties or users.
  3. The system creates share records with explicit access levels.
  4. The recipient sees the document in their portal.
  5. Access can be revoked or allowed to expire.

Proposed entity: document_shares

FieldDescription
idPrimary identifier.
document_idShared document.
shared_with_party_idRecipient party.
shared_with_user_idOptional specific recipient user.
shared_by_user_idUser who shared the document.
access_levelVIEW or DOWNLOAD.
statusACTIVE, REVOKED, EXPIRED.
expires_atOptional expiration timestamp.
created_atCreation timestamp.

Access levels

Access levelBehavior
VIEWRecipient can preview the document in the application.
DOWNLOADRecipient can preview and download the file.

Design notes

  • Sharing should not change document ownership.
  • Sharing should be auditable.
  • Revoked shares should stop access immediately.
  • Sensitive documents should require explicit confirmation before sharing.