Workflow evaluation
A detection update should not change who can see the event.
A rule can detect the right activity while its event reaches the wrong tenant. Trace both detection and ownership through one shared processing change before approving the release.
6 minute read By Zof Updated October 26, 2026
This guide presents an evaluation method, not a report of a completed customer engagement.
- Workflow
- An event moving through ingestion, detection and retrieval
- Change
- A shared routing or message schema update
- Constraint
- Synthetic tenants and fixtures with defined permissions
- Decision
- Whether detection and isolation both hold in scope
The updated rule recognizes the event. The expected alert appears. A release check focused on detection would pass. But if the event carries the wrong tenant context into storage, the same successful detection can become a disclosure to another customer.
Follow a synthetic event through a security platform with two test tenants. Evaluate detection correctness and authorization separately at each relevant boundary, then connect their evidence to the same release decision.
Define detection and access as separate conditions
Assume Tenant A and Tenant B have separate analyst accounts. A declared fixture should trigger one specified detection for Tenant A. A benign fixture should not trigger that detection. Neither fixture contains production telemetry, personal information or live credentials.
The access rule is independent: an analyst may retrieve only the records owned by their tenant and permitted by their role. A correct detection cannot excuse a wrong owner, and a blocked unauthorized request cannot excuse a missing alert. The release decision needs both conditions to hold.
Follow ownership beyond the first authenticated request
For this evaluation, ingestion establishes tenant context from the authenticated source. The event then crosses a queue, a detection worker and a record store before an analyst retrieves it. A message schema change removes the tenant field expected by one consumer. A fallback value could then assign the record incorrectly while leaving its detection content intact.
A test that begins at the rule engine and ends at an alert count would miss that ownership failure. Follow the record through storage and retrieval to inspect the complete access decision.
Follow the workflow
Preserve tenant context through the detection path
- 01
Authenticated ingestion
Establish the event owner
Accept Tenant A's synthetic event under its test identity. Derive the permitted tenant context from that identity rather than trusting an arbitrary payload claim.
- 02
Queue and consumer
Carry context across the schema
Inspect the serialized message and consumer version. Missing or conflicting tenant context follows an explicit rejection rule, not an unrelated tenant default.
- 03
Detection worker
Check the declared behavior
Compare the event with the agreed fixture expectation. Record the rule version, detection decision and tenant context together.
- 04
Storage and retrieval
Preserve ownership and enforce access
Inspect the stored owner, then query the record as Tenant A and Tenant B. Apply the specified permissions at each exposed surface.
- 05
Security reviewer
Approve the scoped release decision
Review detection assertions, access results and uncovered paths. Any proposed correction needs approval and verification with the original fixture.
Connect the changed component to the exposed record
For this evaluation, the System Graph would connect the changed message schema to its consumers, storage and retrieval paths. The engineering owner confirms the map, including any export or search surface in scope. A missing path is an explicit coverage limitation.
The Verification Engine would run the approved event fixtures and access assertions against that scope. Product security verification supplies the relevant evaluation context. The team agrees supported interfaces, test identities and execution permissions before runs begin; the scenario assumes no access to production tenant data.
Verify access where the record is actually returned
OWASP authorization guidance recommends denying access by default and validating permission on every request. Hiding an alert in the interface is insufficient if its API or export still returns it to an unauthorized account.
Use the known test record with both tenant identities and the agreed roles. OWASP's object reference testing method supports testing access to records owned by different users. Keep these checks inside the authorized test environment and inspect the returned content, not merely the HTTP status.
An evaluation you can inspect
Detection and isolation are separate assertions
Acceptance checks for two test tenants and a declared fixture corpus. Each row names the expected behavior and the observations needed to establish it.
| Case | Required behavior | Evidence to inspect |
|---|---|---|
| Tenant A submits the detection fixture | Produce the specified detection with Tenant A as owner. | Fixture expectation, rule version, event trace and stored tenant. |
| Tenant A submits the benign fixture | Preserve tenant context without producing the specified detection. | Benign fixture definition and recorded processing decision. |
| Tenant B requests Tenant A's record | Return no protected record content through the in scope access surfaces. | Identity, requested record, authorization decision and response content. |
| A consumer receives missing tenant context | Apply the defined rejection or quarantine rule; never assign a default tenant. | Serialized message, consumer decision and resulting storage state. |
| An approved fix is applied | Close the reproduced failure while retaining permitted access and expected detection. | Original failing assertion plus repeated valid and forbidden cases. |
On a small screen, scroll the matrix to compare all columns.
Failure condition to test
Failure condition: the alert is correct but its owner is wrong
- Condition to exercise
- Remove tenant context at the schema boundary. Check whether the consumer assigns a default owner and allows a Tenant B analyst to retrieve the resulting record.
- Required behavior
- The record retains Tenant A ownership through processing. Missing context follows the agreed rejection rule, and Tenant B receives no protected content.
- Evidence to collect
- The authenticated source identity and event before serialization.
- The changed message, consumer version and stored owner.
- Retrieval responses under both tenant identities, with authorization decisions.
- Release decision
- Keep the release open for this path. Review the context handling and access controls, then repeat the detection corpus and tenant matrix after an approved correction.
Carry the original failure into the remediation review
If a run exposes incorrect tenant ownership, preserve the fixture, schema revision, event trace and access result. Distinguish a consumer assigning the wrong owner from a retrieval service ignoring the correct owner. Those failures can look similar in a screenshot but require different changes.
Governed remediation keeps a proposed change subject to authorized review. After an approved fix, repeat the original failing case and its neighboring valid cases. Verify that the intended tenant can still use the record, that unauthorized access is denied and that expected detection behavior remains intact.
Make a scoped statement a reviewer can defend
A useful release statement identifies the tested event corpus, tenant and role combinations, access surfaces and software versions. It includes the passing and failing assertions, evidence locations and unresolved exceptions. The reviewer should be able to trace each conclusion to a particular observation.
Passing these cases does not establish universal threat coverage or isolation across every platform feature. Untested exports, roles or background jobs remain outside the conclusion. For a security software team, the practical outcome is a precise release decision and reproducible evidence, not an unsupported claim that every threat or boundary has been covered.
Before you scope the work
Does the evaluation need production telemetry?
The evaluation uses declared synthetic fixtures. The engineering owner defines expected detections and benign examples. Production data is unnecessary for these assertions and remains outside the approved setup.
Which access paths should be included?
Start with the interfaces affected by the change, then inspect their reachable search, retrieval and export paths. Name excluded surfaces explicitly so the result cannot be mistaken for a platform wide guarantee.
What if an administrator can access both tenants?
Represent that role separately with its actual approved permissions. The forbidden access assertion uses an identity that the policy excludes, not an administrator whose access is intentionally broader.
How do we know a fix has not broken detection?
Repeat the declared detection and benign fixtures alongside the isolation checks. Record any changed expectation as a reviewed policy change, rather than adjusting a test merely to obtain a pass.
The event must be correct and belong to the right tenant
A detection result is only part of the release evidence. Trace ownership through processing and test access at the surfaces that return the record.
Sources and scope
These primary references explain the mechanisms and review practices used in this evaluation.
- Authorization Cheat Sheet · OWASP
Guidance for default denial, permission checks and authorization testing at the boundary that returns protected content.
- Testing for Insecure Direct Object References, version 4.2 · OWASP Web Security Testing Guide
A method for evaluating access to records owned by different test users, adapted here to tenant access within an authorized scope.
Your workflow. Your evidence.
Evaluate one detection release and its tenant boundaries
Bring the changed path, approved synthetic fixtures and a security engineering owner. A paid Reliability Sprint scopes one system, typically over seven days, with access, acceptance criteria and price agreed before testing.
A paid engagement for one critical system. Scope and price are agreed first. Seven days is typical; access and deployment requirements can extend the timeline.
Continue the investigation
Digital identity and trust services
A certificate is revoked. What does the relying party see?
Follow another trust boundary where a correct upstream decision can reach a consumer incorrectly.
Audit, tax, and advisory software
Does an approved client workflow stay approved when its inputs change?
Compare how client ownership and approval remain attached to a changing artifact.
- Zof for cybersecurity
Explore verification in the context of a security software product.
- Review governed remediation
Understand how proposed changes stay subject to human approval.
- Review trust material
Find information relevant to your deployment and security review.
