Give clients a separate review service containing approved exports, never credentials or network paths that can reach the working project.
The production team needs writable media, project databases, caches, and unfinished versions; a client normally needs only selected review files, comments, and perhaps downloads. Treat those as different security zones connected by a deliberate publish step. This keeps accidental deletion, broad link forwarding, and unfinished work away from production while giving clients a simple browser-based path that can be revoked after approval.
Build a one-way publish path
Create three roles: the production share holds active work, a staging folder holds candidate review exports, and the client review zone exposes only approved copies. The review service may run on the same server, but it should use a different dataset, service account, and permission boundary.
An editor exports to staging; a producer or project owner checks the version, filename, audio, watermark, and disclosure level; then an automated or manual publish action copies it into the client zone. Client comments return through the review application, not through write access to the production filesystem.
This released-versus-unreleased pattern is used in professional review workflows. The Frame.io guide to private folders, review links, and recipient tiers illustrates how selected assets can be exposed without inviting every viewer into the working project.
Give every client the smallest useful identity
Prefer named accounts or invite-only links for confidential work. Grant view and comment permissions first; enable downloads only when the deliverable requires them. Do not reuse an internal editor account, mount the NAS share on a client's device, or expose the NAS administration interface.
Set an expiration date, require a second factor where the service supports it, and keep a revocation owner. For public-facing campaigns, apply per-recipient or visible watermarks when leak attribution matters, but do not mistake a watermark for access control.
Separate client groups by project. A client who can review Project A should not learn filenames, thumbnails, or participant names from Project B.
Keep the public edge away from NAS administration
Terminate remote access at a review application or access proxy, then allow that service to read only the published dataset. The reverse proxy should not forward storage-management ports, SMB, NFS, SSH, or the hypervisor console.
Use a dedicated service account with read-only access to published assets and write access only where comments or annotations are stored. Back up that application state separately from the disposable review copies.
If the client must reach a self-hosted service remotely, apply the same separation used for home applications. ZimaSpace's SMB versus NFS comparison is a useful reminder that LAN file-sharing protocols are not a client portal.
Define the review lifecycle before sending a link
- Publish a uniquely named version with owner, date, and review purpose.
- Invite only the intended reviewers and record who may download.
- Collect comments against that immutable version.
- Publish a new version instead of silently replacing the reviewed file.
- Mark approval explicitly and copy the approved master into deliverables.
- Expire the link, remove external identities, and retain only the required audit record.
Never let review cleanup delete the source project or approved master. The client zone is a distribution surface, not the archive.
Test isolation before the first real review
Use a test client account from an external network. Attempt to browse parent folders, alter a file, reuse an expired link, discover another project, and reach the NAS login page. Each action should fail while playback and commenting still work.
The setup is complete when a producer can publish and revoke a review without administrator help, clients see only approved versions, and compromise of the review account cannot reach production. Add a separate portal instance only when client groups or compliance needs cannot share the same boundary.
NAS & Server Setup
More to Read

A Local RAG Setup for Research Papers, Notes, and Private Documents
Keep original documents authoritative, make indexing repeatable, require citations, and separate replaceable models from private source data.

Why Are Developers Using a Gateway Node for Private DNS, VPN, and Test Apps?
A gateway node gives private apps one controlled name and access path, while compute nodes stay unexposed and replaceable.

How to Build a Reproducible App Stack With Compose Files, Secrets, and Persistent Data Separated
Keep Compose definitions portable, secrets protected, and app data independently backed up so the stack can be rebuilt on a clean host.

