Sample report · Human security review

What a scoped human review actually delivers.

This is a synthetic example built to demonstrate the structure, evidence standard, and judgment of a Human security review. It is not a customer engagement, not real findings, and not a claim about any real application. The browser-visible counterpart is the sample Free passive scan report.

Hypothetical engagement · authorization & tenant isolation

example.app

Trigger: an enterprise prospect requested application-security evidence before procurement.

Review dates
2026-07-14 → 2026-07-17
Retest
2026-07-18
Roles used
unauthenticated · org-a-member · org-a-admin · org-b-member
Access
ZIP source · staging env · two test tenants · recorded request budget
2 Confirmed
1 Needs verification
1 Informational
2 Not tested

Executive summary

The review found two confirmed authorization failures on the highest-risk trust boundaries in scope: cross-tenant record reads (F-001) and member-to-admin privilege escalation (F-002). Both are the class of failure the prospect's questionnaire asks about, and both are fixable without architectural change.

F-001 was fixed and retested within the remediation window; the report records the retest result. F-002 is in progress with a scheduled retest. One recovery-flow question (F-003) could not be resolved inside this scope because the provider configuration was excluded; the report states exactly what would establish it.

Nothing in this report certifies the application, and the signed version covers only the written scope. It gives the customer a defensible, evidence-backed answer for the due-diligence conversation — including what was not tested.

Confirmed F-001

Cross-tenant record access via /api/projects/:id

Severity

High

Confidence

High

Evidence
Using the approved org-a-member role, GET /api/projects/8121 returned a project record owned by Organization B (HTTP 200, full record). The handler verifies that the caller is authenticated but never checks that the project's organization matches the caller's membership.
Business impact
Any authenticated member of any organization can read other organizations' project records by enumerating sequential IDs. In the trigger context — an enterprise prospect's due-diligence questionnaire — this is exactly the class of failure the prospect is asking about.
Remediation
Add an organization-membership predicate to the server-side query (project belongs to one of the caller's organizations) and return 404 rather than 403 to avoid ID enumeration. Apply the same predicate to the related export endpoint.
Scope and limitation
Reproduced in the staging environment with approved test tenants and the recorded request budget. Tokens redacted.

Retest: Fixed and retested 2026-07-18 — cross-tenant requests now return 404.

Confirmed F-002

Member role can change organization roles via POST /api/members/:id/role

Severity

High

Confidence

High

Evidence
The UI hides the role-change control from non-admins, but the server accepts the request from any authenticated organization member. With the org-a-member role, POST /api/members/{id}/role with {"role":"admin"} returned 200 and elevated a second test user.
Business impact
Privilege escalation within an organization: any member can grant admin to themselves or others, then manage billing, invitations, and exports. Client-side hiding is presentation, not authorization.
Remediation
Enforce the admin requirement server-side in the role-change handler. Audit existing role assignments for unauthorized changes, and alert on role changes not performed by a current admin.
Scope and limitation
Validated with approved test users in the staging tenant. The test changes were reverted immediately after the check.

Retest: Fix in progress — not yet retested.

Needs verification F-003

Password-reset token accepted without a visible expiry or single-use check

Severity

Medium if exploitable

Confidence

Medium

Evidence
In the reviewed code path, the reset handler validates the token signature, but no expiry or single-use check appears before the password update. The auth-provider configuration that may enforce expiry server-side was outside the agreed scope.
Business impact
If no expiry or single-use enforcement exists elsewhere, a captured or leaked reset link could be replayed to take over an account.
Remediation
Confirm where expiry and single-use enforcement happen (application code or provider). If absent, enforce a short TTL, invalidate the token on use, and log token-reuse attempts.
Scope and limitation
Source path reviewed. Provider configuration and runtime replay were not exercised — replay testing of recovery flows was excluded at the customer's request.

Retest: Requires owner verification of the provider configuration.

Informational F-004

Session cookie lacks __Host- prefix and stricter SameSite hardening

Severity

Low

Confidence

High

Evidence
The session cookie is set with Secure and HttpOnly, without a __Host- prefix, and with SameSite=Lax.
Business impact
A hardening gap, not a demonstrated vulnerability. The current attributes already block the most common cookie-theft paths in this deployment.
Remediation
Adopt the __Host- prefix and SameSite=Strict for the session cookie if all supported browsers are within the support window; verify login and logout flows afterward.
Scope and limitation
Observed on responses within the agreed scope.

Retest: No retest required — hardening recommendation.

Not tested C-001

Payment webhook signature verification

Severity

Not rated

Confidence

Evidence
Excluded from the written scope at the customer's request. The webhook handler was neither reviewed nor exercised.
Business impact
No conclusion can be drawn. Webhook authentication is a common failure point and should be covered in a follow-up scope.
Remediation
Add the webhook handler to a follow-up review scope, or verify signature enforcement, replay protection, and idempotency owner-side.
Scope and limitation
Outside the signed scope.

Retest: Needs a follow-up scope.

Not tested C-002

RLS policy completeness outside the scoped workflows

Severity

Not rated

Confidence

Evidence
Row Level Security policies were reviewed only for the tables touched by the scoped project and membership workflows. Other tables were not assessed.
Business impact
No conclusion about the rest of the schema. A source-backed pass can inventory the remaining tables and their policy coverage.
Remediation
Inventory exposed-schema tables and confirm RLS enablement and policy coverage, or extend the next review scope.
Scope and limitation
Outside the signed scope except for the tables named in this report.

Retest: Needs an extended scope.

Prioritized remediation plan

Ordered by demonstrated business impact inside the scope — not by generic check categories.

  1. 1

    F-001

    Enforce organization membership in the project query and export endpoints.

    Done — retested 2026-07-18

  2. 2

    F-002

    Require admin role server-side on the role-change endpoint; audit existing assignments.

    In progress — retest scheduled

  3. 3

    F-003

    Verify reset-token expiry and single-use enforcement in the provider configuration; enforce in code if absent.

    Owner verification pending

  4. 4

    F-004

    Adopt __Host- prefix and SameSite=Strict when the browser support window allows.

    Hardening — no retest needed

A triggered question deserves this level of answer.

If a deal, launch, audit, or change is forcing the question, ask for the review. If you only need the browser-visible picture, start with the free scan.