Skip to content
Customer Identity · available nowBuild your first Test integration.Create a Test project
NamoID
All posts
NamoID Blog

Secure Partner Portals and Cybersecurity Dashboards

Design tenant access for partner portals and cybersecurity SaaS. Review analyst permissions, background jobs, exports, and a reported supplier-platform attack.

Partner portals and cybersecurity dashboards need customer boundaries throughout each request and background job. A tenant selector is only a user-interface control.

An analyst may work across several customers. A connector may collect data from one customer. Neither should receive unrestricted platform authority.

This guide follows a hypothetical evidence export from sign-in to download. Use it to review memberships, worker permissions, and access removal.

A supplier-platform incident led to an extortion demand

In July 2026, The Record reported a CHF10 million demand against Stadler. It quoted the company's account of compromised credentials affecting a supplier's file-sharing platform.

Stadler said its own systems were unaffected and production continued. It refused payment. Read the report and linked company statement.

The report supports a discussion about partner access and shared information. It does not identify a tenant-isolation failure or establish the controls that would have prevented the incident.

Map the actor, customer, and workload

A tenant is a separate customer or organisation boundary. One person can have memberships in several tenants without receiving access to all platform data.

Consider a hypothetical cybersecurity service used by a managed security provider. Analysts investigate alerts for assigned customers and export selected evidence.

ActorProposed authorityBoundary
Customer userView their organisation's permitted casesCurrent customer membership
Partner analystInvestigate assigned customer casesExplicit customer and case assignments
Partner administratorManage approved analyst assignmentsNo automatic right to every evidence file
Platform supportPerform a defined support taskSeparately approved customer access
Connector workloadCollect specified customer dataDedicated credentials and resource scope
Export workerProduce one approved exportRecorded customer, resources, and purpose

Treat user permissions and workload permissions separately. A background worker should not inherit a person's entire administrative role.

OWASP's multi-tenant guidance discusses isolation across tenant context, storage, caches, and background processing.

Use the general multi-tenant SaaS guide for the foundations. This article focuses on partner operators and asynchronous evidence access.

Resolve customer context before accessing data

The browser can request a customer context. The server must verify that the current person may use it.

Load approved memberships and action permissions from trusted records. Do not trust a header, route parameter, or job payload merely because it contains a valid tenant identifier.

Pass the resolved context through the service boundary. Include the actor, customer, action, and correlation identifier where needed.

Scope data queries and object-storage paths to that customer. Include the customer boundary in cache keys that contain customer-specific data.

Analyst session and current customer assignment
                    |
                    v
Case permission and export request
                    |
                    v
Trusted job record with bounded authority
                    |
                    v
Worker rechecks policy and reads scoped evidence
                    |
                    v
Customer-scoped result and authorised retrieval

Avoid copying customer evidence into general queue messages. A job identifier can refer to a protected server-side record.

Define access removal for queued work

A queued export can outlive the session that created it. Decide what happens when an analyst loses access before the worker starts.

For sensitive evidence exports, our proposed default is to recheck current authority before execution and retrieval. Record any approved service-owned exception separately.

Tie the job to its original customer and requested resources. A worker must not accept a later customer change from an untrusted message.

Set a result expiry and a removal process. Restrict who can retrieve the output after completion.

Retries need the same boundaries. Do not let retry logic replace a denied customer context with a platform-wide service account.

This design adds policy lookups and failure handling. Plan for those costs instead of allowing stale authority to keep jobs moving.

Restrict connectors and response actions

Security tools can collect sensitive evidence or trigger changes in customer systems. Read access and response authority deserve separate scopes.

For each connector, record its owner, customer, permitted resources, and rotation process. Use a documented authentication method appropriate to the target service.

Keep collection credentials separate from analyst sign-in. Revoking an analyst session does not necessarily revoke a connector credential.

For response actions, show the exact customer and target before approval. Examples include disabling an account or requesting endpoint isolation.

Record who approved the action and which workload executed it. A dashboard label such as administrator should not silently authorise every connected system.

Our access-token and ID-token guide explains why an identity token is not a general API credential.

Test boundaries across the whole export journey

Use synthetic customer evidence for these proposed acceptance checks. They describe expected behaviour, not results from a completed product assessment.

TestExpected result
An analyst changes the customer identifierThe server verifies the new assignment
A queue message requests another customer's caseThe worker rejects the context mismatch
An analyst loses membership before executionThe job follows the current-authority policy
A completed result is requested by another customerRetrieval is denied
Two customers use the same local case identifierCache and storage keys remain isolated
A connector collects from an unassigned customerIts credential and resource boundary reject access
A read-only analyst requests a response actionSeparate response permission is required

Include counts, previews, error messages, and search suggestions in your review. Each can reveal information even when the main evidence route is protected.

Download the partner-platform review sheet to assign owners across your API, worker, storage, and support teams.

Review your platform identity boundary with NamoID

NamoID Customer Identity provides hosted authentication, OAuth and OpenID Connect, passkeys, and TOTP MFA for your application's users.

Our engineers can help you review analyst sign-in, recovery, and session integration. Your services still own customer isolation and background-job authority.

NamoID is not an endpoint response platform. Customer connector credentials, evidence storage, and response approvals need their own controls.

Message NamoID's engineers in Slack for an early response. Share your stack and a sanitised request-to-worker diagram.

We can help identify the next integration step. Keep customer evidence and live credentials out of the community channel.