These cookies are required for the website to function properly. They ensure security, enable basic features like page navigation, and store user session data. You cannot disable these cookies.
- Client Collaboration Portal
- Features
- Project documents
Project documents
Publish the right version of a document and see whether its intended recipients have acknowledged it. Keep source files protected and generate a short-lived download only after an access check. A notification or download event does not supply an acknowledgment. Scheduled withdrawal and revoked membership apply to old links too.
OverviewMy Project Documents (Client)×
Client Collaboration Portal · Project documents
New
My Project Documents (Client)
Document shares
| Share number | Document name | Category | Portal project | Published at | Requires acknowledgment | |
|---|---|---|---|---|---|---|
| DS-96451 | East Hall concept plan.pdf | Deliverable | Building handover phase | 11 Oct | ||
| DS-43860 | Atrium lighting schedule.xlsx | Invoice | Reception desk redesign | 02 Nov | ||
| DS-34124 | Courtyard materials board.pdf | Contract | Reception desk redesign | 27 Oct | ||
| DS-11286 | Lobby accessibility review.pdf | Report | Level two workspace fitout | 20 Oct | ||
| DS-38888 | Level two floor plan.pdf | Reference | Courtyard landscape refresh | 14 Oct |
6 of 6 records
East Hall concept plan.pdfDocument shares · DS-96451
DeliverablePortal projectBuilding handover phase
Published at11 Oct
Requires acknowledgment✓
What you can do
Document publishing
Project Manager publishes a document to the portal: creates a document shares row pointing at the source document store file URL (workflow-dms, Project Billing Invoices, or a Project Management deliverable), picks the portal site + portal project, sets Category (Deliverable / Invoice / Contract / Report / Reference / Other) and requires acknowledgment. On Status: Published, the document-publish-notification workflow fires via the configured record event. A configured workflow service resolves every client user with portal user access to the portal project, record service bulk-creates an activity feed row plus per-recipient magic links rows with Purpose: Document view, and notification service notifies each recipient with the branded template and the magic-link deep-link. Client users click through, the magic-link auth handler resolves to the document viewer, the streamed download writes a document downloads row plus a client activities row with activity type: Document downloaded, and (when requires acknowledgment = true) the client confirms via an in-portal action that flips document download acknowledged: true.
Magic-link lifecycle
Every fan-out workflow that needs a one-click email-to-portal entry generates a magic links row with a server-side-only Token, a Purpose enum, optional target table + target record deep-link, an issued at, and an expires at. The inbound URL handler resolves the Token server-side, validates Status: Active AND expires at > now, flips Status: Used immediately on first redemption, stamps used at + used from IP, writes a client activities row with activity type: Magic link redeemed, and redirects to the deep-link. The magic-link-expiry workflow runs hourly via the configured schedule, finds every magic links row where expires at < now AND Status = ‘Active’, and bulk-flips Status: Expired. Reissue is a Portal Manager action that generates a new row rather than extending the prior one.
Keep the decision trail useful
Keep source files protected and generate a short-lived download only after an access check. A notification or download event does not supply an acknowledgment. Scheduled withdrawal and revoked membership apply to old links too. Portal sites, portal projects and client users establish separate tenant and project boundaries. Bind each external login to client user principal ID; shared email addresses and Account text do not grant membership. Effective access is the intersection of active site, active client user, active portal project and active portal user access. The role and grant must both permit the action. Every list, export, attachment, notification and direct API request rechecks this scope; hiding a card is insufficient. Magic link token stores only a one-way hash of a high-entropy token. Tokens are purpose, recipient, project, target and expiry bound, redeemed atomically once, and revoked on access removal. Opening an email link displays a confirmation page; link previews and GET requests cannot approve a decision. Approval action requires a verified session and an explicit confirmation POST with expected request revision. Tokens and signatures never appear in analytics, application logs or audit exports. Document shares file URL identifies a protected source; the backend obtains a short-lived scoped download URL only after access checks. Scheduled publication respects publish start and publish end; archived or hidden content remains unavailable through old links. Only published documents and updates create client activity-feed entries. Named recipients contains validated active recipients within the project. Thread parents and every reply inherit the exact same audience; notifications and mentions cannot widen it.
What your team sees
- My Project Documents (Client) — Find the published project documents available to the authenticated client.
What it keeps track of
Data model- Document shares
- A document published from an internal source system (workflow-dms, Project Billing Invoices, Project Management deliverables) to the portal. The publish record points at a file URL and tracks the audience scope, acknowledgment requirement, and lifecycle.
- Document downloads
- One row per client user × document share download event. The audit grain for “did the client open the deliverable” — feeds the client activities log and the engagement digest.
- Portal projects
- Junction between portal sites and the internal Projects master — which Projects each portal site exposes to clients. One row per Project published on a Site.
- Client users
- The external client user master — every person on the customer side who logs into the portal. Two-namespace separation from internal Users keeps the auth surfaces and audit logs clean.
- Magic links
- One-click email-to-portal tokens. Issued for invitation, document view, approval action, status-update view, and digest opens. Single-use, time-limited, server-side resolved — Token never appears in any UI.
Who uses it
Permissions- Project Manager
- Publishes documents for owned projects. client users read permitted published shares and acknowledge them explicitly.
Set up Client Collaboration Portal your way.
Start free, then use Proto to change fields, steps and approvals before your team goes live.