Files
QSfera/Server/docs/sharing-controls-production-audit.md
T
2026-06-12 22:26:21 +03:00

3.5 KiB

QSfera Sharing Controls Production Audit

Date: 2026-06-10.

External Benchmarks

Verified QSfera Coverage

Benchmark control QSfera evidence Status
Public-link password Android exposes shareViaLinkPasswordSwitch; Graph CreateLink stores Password; acceptance tests create and update password-protected link shares and verify old passwords fail with HTTP 401. Covered for Android OCS links and Graph links.
Public-link expiration Android exposes shareViaLinkExpirationSwitch; Graph CreateLink reads expirationDateTime; acceptance tests create, update, and remove expiration dates. Covered for Android OCS links and Graph links.
Link access role Android exposes read-only, read/write, and upload-only radio options; Graph link types include view, edit, upload, and createOnly; acceptance tests cover those roles for files, folders, and project-space links. Covered, with different Android OCS labels and Graph role names.
Disable downloads / secure view Graph link types include blocksDownload; acceptance tests also verify the Secure Viewer role cannot download files. Android public-link rows display non-standard link permissions as Custom access, and the Android edit dialog treats those links as server-managed so they cannot be downgraded through the OCS dialog. Server/API coverage exists; Android keeps blocksDownload links server-managed until a Graph-link editor is added.
Organization-only access Graph link types include internal; frontend config documents default link permission 0 as an internal/member-only link; server rejects redundant passwords on internal links; acceptance tests create and update internal links. Android public-link rows display these non-standard states as Custom access, and the Android edit dialog treats them as server-managed. Server/API coverage exists; Android keeps internal links server-managed until a Graph-link editor is added.
Role inheritance / resharing Space sharing acceptance tests verify managers can reshare spaces, editors/viewers cannot, and project-space public-link creation requires manager rights. Covered by server acceptance scenarios.

Repeatable Local Check

Run from the repository root:

.\scripts\verify-sharing-controls-coverage.ps1

The script is a static coverage gate over Android UI files, Graph link type code, server link creation code, and acceptance feature files. It does not replace a full server acceptance run.

Product Decision

The Android public-link dialog exposes the OCS link controls already present in the client: password, expiration, read-only, read/write, and upload-only. Dedicated Graph internal and blocksDownload creation/editing controls remain server-managed on Android until a Graph-link editor is added. The Android list shows those links as Custom access, and the Android edit dialog disables saving for them so a user cannot accidentally replace organization-only or secure-view protection with a standard OCS read-only link.