Penetration Test Scope for Small Teams
A penetration test without a written scope is an invoice with admin rights. The tester decides what gets touched, when, and how hard — and you find out from an on-call page. Small teams buy pentests rarely and expensively, which is exactly why the scope matters more for them: there is no second test to fix a bad first one. A penetration test scope is not legal boilerplate. It is one page that decides what evidence you are buying — which systems may be attacked, in which window, with what methods, and what everyone does the moment something breaks. Get the page right and the test produces findings you can fix and a report that closes deals; skip it and you have bought a PDF and a story about the night the tester rate-limited your payment provider.
The one page, written before you shop
- Write the three-line intent before contacting any vendor. Why now (an enterprise security questionnaire, a compliance checkbox, a gut feeling after the last security audit), what decision the report must support, and who actually reads it. This matters because vendors price and shape the test around it: a questionnaire-answer test is a broad-but-shallow scan plus verification; a pre-deal diligence test is targeted at the systems the customer will inspect. A pentest bought without a named decision becomes a PDF that gets forwarded once and never opened.
- One page, nine boxes. (1) In scope — exact environments, domains, IPs, repos; say plainly whether prod is in, and if it is, why staging cannot answer the question instead. (2) Out of scope — payroll, staff laptops, third-party SaaS you do not own. (3) Test window — dates and hours, plus blackout dates (payroll week, the big launch). (4) Allowed methods — external web and API testing yes; social engineering of staff only if you consciously agree, in writing, because it tests your people, not your systems. (5) Intensity limits — no destructive testing, rate caps on authenticated requests, no exfiltrating more data than a proof. (6) Stop conditions — any customer-data exposure, any data corruption, any on-call page: stop and call, in that order. (7) Contacts tree — tester → engagement owner → on-call engineer → escalation, with phone numbers, not email. (8) Credentials — how test accounts get made, where their secrets live, when they expire. (9) Deliverables — report format, severity scheme, and whether a retest is included or priced separately. Nine boxes is one hour of typing and it is the whole contract.
- Rules of engagement, signed by both sides. The page above is not complete until both parties sign it and it answers the mid-test questions: what happens when the tester finds something serious on day two (an immediate-disclosure channel, not save-it-for-the-report), what happens when you deploy during the window (freeze the in-scope services or notify the tester in channel), and who can call stop. The stop conditions matter more than the start date — they are what your on-call reads at 2am when test traffic pages, and they point to the same first move as the first 30 minutes: stabilize first, resume later.
- You build the guardrails, not the tester. Dedicated test accounts with capped permissions, a labeled user-agent or source range you can filter for later, and rate limits on the test account itself. Two reasons: your logs stay readable (test traffic is findable and excludeable after the fact, which the log retention policy should record), and the blast radius of a mistake stays inside accounts built to be hurt. A tester using a founder's real account is a finding about you, not them.
- Book the fix sprint before kickoff. A two-week test gets a two-week fix sprint already on the calendar, owned by whoever owns the code. Findings without scheduled fix time rot into next year's report — the same finding reappearing in consecutive tests is the tell, and it means the process failed, not the test. The severity scheme from the report feeds straight into the bug triage process: every finding needs an owner and a date, or it was entertainment.
- The retest is half the purchase. Fixes verified by the same tester within a bounded window (30 days is normal) is what lets you write “penetration tested, findings remediated and retested” on the customer questionnaire with a straight face. Without the retest you are certifying fixes you never verified — the pentest version of marking your own homework. Price it at signing; retrofitting a retest later costs more and happens never.
Five traps
- The scope the tester writes for you. The engagement letter arrives with scope already filled in and you sign it because reading it is work. Conflict of interest is structural: the tester's scope covers what is easy to test. You write the nine boxes; you cut what does not serve the named decision; they negotiate. A scope you did not edit is a scope you did not buy.
- Scanning production because “staging isn't the same.” True and irrelevant — the answer is a prod window with hours, rate caps, and stop conditions, not an unbounded scan of prod during business hours. The tell that you got this wrong is your payment provider rate-limiting you mid-test while your on-call debugs an outage only the tester knows is a test.
- The PDF that lands and dies. Report arrives, gets forwarded to the channel, gets one “nice” and zero owners. Sixty days later the same finding is in the new test. The fix is calendar, not culture: fix sprint booked at signing, every finding entering the action item tracker with a name and a date.
- Buying the report, not the retest. The cheapest part of a pentest is the second look at the fixes. Skipping it means the questionnaire answer “remediated” is your word, not evidence — and enterprise buyers increasingly ask for the retest letter, not the report summary.
- Compliance theater with a stale in-scope list. Last year's scope, this year's infrastructure: the new API, the second region, the vendor SSO integration are all outside a boundary written before they existed. The scope is refreshed every engagement against the current asset inventory, and cadence follows change volume, not the calendar — a year of no changes buys a year of grace, a quarter of shipping buys a quarter of testing.
Worked example
A seven-person B2B SaaS closing its first enterprise customer. The old way: a $9,000 broker pentest, engagement letter signed unread; the tester scanned production during business hours because staging “wasn't representative”; the payment provider rate-limited the test traffic mid-afternoon, the on-call engineer spent three hours debugging an outage nobody could reproduce, the tester abandoned the remaining tests, and the report landed six weeks later — forwarded once, no fix sprint, no retest. The enterprise deal stalled anyway: the buyer's questionnaire asked whether findings were retested, and the honest answer was no.
The rerun, next attempt: one-page scope written by the team in an hour and edited by the vendor in a day. In scope: the staging environment and the production API, in a declared window (Tue–Thu, 9–17, never during payroll week), with rate caps on the test account and labeled test traffic. Stop conditions in the on-call runbook. Fix sprint booked before kickoff; retest included at signing. Test ran clean, report in ten days: three highs, five mediums. Highs fixed in nine days, retest verified eleven days after the report. The questionnaire's pentest row was answered with the report and the retest letter, and the deal closed the following week. Same $9,000 — the difference was one page written first.
Metrics (for the testing program itself)
- 100% of pentests with a signed one-page scope before kickoff. One test without one is the error budget spent; two is policy.
- Findings fixed within the pre-booked fix window. Under ~90% means the fix sprint is fiction and the report is a shelf document.
- Retest verification rate: share of findings verified fixed by the tester, not claimed fixed. This is the number that answers customer questionnaires.
- Median days from report to first fix merged. Over two weeks means findings and the calendar never met.
- Repeat-finding rate across consecutive tests: the same class of finding reappearing is a process gap (the blameless review asks why the class survived, not who missed it).
From the HIVE80lab kit
- The First 30 Minutes — free incident quick-start checklist
- Ops Starter Kit — incident response for small teams — $14
- Ops Starter Kit Vol. 2 — advanced incident response & communications — $27
- Ops Mega Bundle — all 5 kits in one download — $49
Related: the vendor security review checklist is the questionnaire the pentest report answers; the security audit preparation checklist is where the scope and the last report are standing inputs; the API key leak runbook is what the on-call runs when test traffic turns out to be something worse; and the incident drill schedule keeps the stop-conditions muscle warm between tests.
Related: the security questionnaire answer bank is where the retest letter gets pasted — the row that closes the deal.