Use the portal screen
web/portal.html renders both the customer workspace and the staff launcher. The verified session selects the mode, navigation, workspace choices, and available controls.
Use the customer workspace
Customer navigation replaces the internal SABLE navigation with the tabs the client's lead has turned on: This week, Overview, Shared plan, Reviews, Requests, and Resources. A client with no saved settings sees the five tabs without This week and lands on Overview; a lead can change the tab set and the landing tab per client. A disabled tab changes only what the customer sees, not what has been released. Customers with more than one membership can switch among the workspace choices returned by the server.
The workspace includes these surfaces:
- This week: a page of collapsible cards, each turned on or off per client: Weekly updates (every published update, one line each, opened in place), Recent meetings with an expandable summary (and a recording link only when the lead opted in), Emails (emails a lead published: subject · sender name · date, opening to the short summary, the shared attachments with Download, and Read full email when the team approved a full email), Files (important links and shared documents with Download, Upload files, and See all in Resources), and Needs you when something waits on the customer
- Overview: next actions grouped by customer, team, or other owner; changes since the previous recorded visit; next shared milestone; accountable contacts; grounded Ask SABLE answers
- Shared plan: published milestones, outcomes, owners, dates, commitments, blockers, and schedule notes
- Reviews: the current released version, discussion, approver capability, decision receipt, and stale-version protection
- Requests: general or project-scoped intake, replies, private files, owner, next response, due date, status, and resolution receipt
- Resources: released documents and meeting summaries with approved links; a document SABLE holds the file for has Download (a 60-second link)
- Search: matches across titles, published bodies, and customer-visible conversations, with exact record links
- Notifications: person-scoped inbox, unread state, activity-email preferences, immediate or digest cadence, time zone, categories, and quiet hours
- Help: customer-specific explanations for access, requests, review roles, notification choices, the This week tab, per-client tabs, important links, and Ask SABLE evidence
Request states are open, in_review, waiting_on_client, changes_requested, resolved, and closed. Internal notes never appear in the customer workspace.
Use the staff launcher and preview
Admins and leads who open /portal.html without a client receive one launcher row per client in their organization. Each row shows factual membership, active-project, and published-item counts. The launcher opens a customer preview and exposes invitation and access-management controls.
The launcher opens on My projects (20 Oct 2026): the clients of every current project the person is a member of, or the person chosen in View as. All shows every client; it is the default when View as is set to all projects. The server marks each client mine and returns launcher_filter (mine or all) from ?as=; marking never changes which portals the viewer may open.
Consultants do not receive organization-wide portal management. Their workspace content stays limited to active or current projects where project_members assigns them.
Inside a preview, authorized staff can:
- Assign requests and set status, next response, response date, and resolution summary
- Reply in the customer-visible thread
- Add internal notes that stay outside customer payloads and notifications
- Create or update customer-visible milestones and commitments
- Inspect current released versions and discussions
- Browse active-project documents, meetings, emails, and drafts with factual readiness blockers
- Publish or withdraw curated document and meeting metadata when they are an admin or lead
- Choose Emails as the source type to publish a filed email: Publish to portal opens a dialog with the subject, a suggested 2–4 sentence summary, Full email (this message only, with Include earlier messages in the thread to append the rest), all editable, the sender's name read-only, which attachments would be shared, and the warning "Check the summary and the full email: signatures, phone numbers and forwarded headers will be shown to the client as written." A shared email shows Update on portal and Withdraw. Emails never go into the starter package. Admins can also publish from the Filing tab in Approvals
- Publish a direct customer update with an optional project scope
- Invite a named customer without returning to the launcher
- In Prepare, open Customer tabs & automation (admins and leads) to choose the tabs, the landing tab, the Cards on This week, Share meetings without approval (otherwise each meeting waits for a person to publish it) and its separate recording-link choice, the weekly draft and its format, and how many past days of meetings to include; admins and leads also add, reorder, and archive important links. Staff see every disabled tab marked as hidden from the customer, except This week, which staff see only when it is on. Customer notifications that point at a hidden tab are skipped; staff notifications are not
Admins and leads release approved deliverables from Draft Workbench, not from the portal preview.
The launcher and preparation view report exact shared-resource, published-update, deliverable, milestone, request, and membership totals. A workspace is ready only when the server’s current readiness rules pass; an empty customer workspace does not become ready because the staff preview loads.
Apply visibility rules
The screen renders the shaped /api/client-portal response. It never receives raw transcripts, raw document bodies, storage paths, internal request events for customers, or unrestricted operating rows.
Client members see only client_memberships workspaces. Review decisions require can_approve_deliverables. Resources and Ask SABLE require the same released projection used by the customer workspace.
Find the implementation
The portal screen uses these files:
web/portal.htmlweb/portal-app.jsweb/portal-preparation.js, including the Customer tabs & automation sectionweb/portal-model.js, the tab registry and landing-tab rulesweb/portal.cssweb/sable-shell.jsweb/help-content.jsweb/api/client-portal.jsweb/api/portal-access.jsweb/api/portal-assistant.jsweb/api/portal-attachments.jsweb/api/portal-files.jsandweb/api/_portal_files.js, customer uploads to a project Library and shared-document downloadsweb/api/portal-milestones.jsweb/api/portal-links.jsweb/api/portal-notifications.jsweb/api/portal-preparation.jsweb/api/portal-publications.jsweb/api/deliverable-release.jsweb/api/deliverable-reviews.js