A new architecture or a major change
A first public API, a move to multi-tenancy or a new identity provider, while design decisions are still cheap to change.
Threat-model reviews, authorization design, CI controls and remediation for product teams. Bounded work with a named owner, written acceptance criteria and a handover your engineers can maintain.
A first public API, a move to multi-tenancy or a new identity provider, while design decisions are still cheap to change.
Each pentest finds another endpoint missing a tenant check. The fixes land; the authorization model underneath has not changed.
An enterprise customer or SOC 2 auditor wants evidence for access reviews, change management or logging the system only partly produces.
An OAuth app, CI deploy identity or AI agent is about to read customer data or act. It needs a permission boundary before it ships.
A synthetic example in the format your report uses: evidence, impact, fix.
Impact. A user with export permission in one workspace can export another tenant's customer data by changing one body field.
Fix. Evaluate permission against the target workspace through one policy function, deny by default and add role-by-tenant regression tests.
Evidence · request → response
POST /v2/exports HTTP/1.1 Host: api.example.com Authorization: Bearer <analyst token, workspace ws_102> Content-Type: application/json {"workspace_id":"ws_317","dataset":"customers","format":"csv"}
HTTP/1.1 202 Accepted Content-Type: application/json {"export_id":"exp_88f1","workspace_id":"ws_317","status":"queued", "download_url":"https://files.example.com/exp_88f1.csv"}
Named test areas and checks. The scope record in your proposal confirms which apply to your system.
Items marked “terms to confirm” are set out in your proposal.
| Deliverable | Status |
|---|---|
| Threat model and design reviewData-flow map, threat scenarios, gaps and ranked design changes. | Included |
| Authorization modelRoles, actions and tenant scope, with each rule's enforcement point. | Included |
| Security regression testsTests that stop a later change silently removing agreed controls, where implementation is in scope. | Terms to confirm |
| Implementation pull requestsReviewed changes against acceptance criteria; stack support confirmed at scoping. | Terms to confirm |
| Control evidence notesHow each agreed control operates and where its evidence is recorded. | Included |
| Handover and remaining-risk registerWalkthrough, operating notes and outstanding work. | Included |
| Independent verification of fixesRetesting by a tester who did not write the changes. | Terms to confirm |
Security engineering is the work between a design decision and a control that holds up under test. It answers questions a pentest report raises but cannot settle on its own: why did this class of bug happen, where should the check live, and how do we stop it returning?
Every engagement starts from a concrete problem: an architecture, a set of findings, a pipeline or a control list. It ends with artefacts that live with the system, such as design records, tests and reviewed changes, rather than a slide deck.
A threat-model review maps where data flows, which identities can act on it and which boundaries the design relies on. The output is a short list of design changes ranked by consequence, plus a test plan for the assumptions that need proof.
Remediation starts with root cause. Ten “missing tenant check” findings are usually one design gap: authorization decided per handler instead of in one place. Fixing the model removes the class; fixing ten endpoints leaves the eleventh.
Enterprise reviewers and auditors increasingly ask how a control operates, not whether a policy exists. The work is making the system behave as described and record that it did.
Authorization failures are some of the most consequential findings in multi-tenant software and among the hardest to fix piecemeal. Design work here typically covers:
The synthetic finding on this page shows the pattern: a permission evaluated against the caller’s roles anywhere, rather than against the workspace being acted on.
CI is a privileged system. Review covers who can merge and release, how secrets reach builds, whether deploy identities use short-lived credentials scoped to one environment, and whether security tests block a merge or only report. Tooling is chosen and tuned to the codebase, so engineers keep paying attention to its output.
For teams preparing for a SOC 2 examination, ZenoPentest can help the technical controls on your list work as written. Examples include access reviews that come from real identity data, change management enforced by branch rules, and logging that records administrative actions. The CPA firm performs the examination and issues the report. Nothing here is an attestation or a promise of a clean opinion.
The proposal states which of the three roles ZenoPentest holds. If ZenoPentest implements a fix, that is disclosed, and independent verification goes to someone else where a reviewer requires it.
Packages have published starting prices. These factors move a quote up or down.
See pricingServices, tenants, identity providers and integrations in scope.
Design review only, or code changes too, and in which stack.
Documentation, environments and speed of access.
How many, and how far they share a root cause.
Whether a reviewer needs verification by someone who did not implement.
Your engineering lead is the client. Where implementation is in scope, ZenoPentest works in your repositories and CI; the proposal names who approves, merges and accepts the handover.
The agency or its client commissions. Agree beforehand who owns the code, who merges changes, whether ZenoPentest speaks to the end client and whose name the review carries. Remediation can sit inside the agency's sprint.
A pentest exercises defined attack paths and reports what it reached. Security engineering reviews or changes how controls are built. Each often feeds the other, but each has its own scope and deliverables.
Implementation can be commissioned as bounded work with agreed pull requests, tests and acceptance criteria. Supported stacks are confirmed at scoping and named in the proposal.
ZenoPentest discloses any implementation role. Where a reviewer needs independent verification, a tester who did not write the change verifies it, or you use another provider.
No engagement can promise that. An independent CPA firm examines and reports. This work helps technical controls operate as described and produce evidence the auditor may review.
Usually not. Most work happens in repositories, CI and non-production environments. Any access is least-privilege and approved in writing by the system owner.
The scoping factors above become a written proposal. No fixed turnaround is assumed.
No. Each engagement has a defined boundary, owner and output. Any ongoing arrangement is a separate agreement.
Tell us the system and the requirement behind it. You get scoping questions, then a fixed quote.