The boundary is the product.
An autonomous tester is only safe if something other than the tester decides what it may do. In Seccuti that is the runner gate: it sits between the agent and the operating system, the agent cannot reach it, and it re-checks every action at the moment of execution.
The exact target is in scope. Not the project, the target. A host that resolves to an address outside the declared range is refused even if the name was allowed.
The testing window is open. Outside the hours you agreed, nothing runs.
The action class was pre-authorized. Exploitation and anything destructive are off unless a named person turned them on, and that is recorded.
The breakers have room. Host count, request rate, spend and run time all have ceilings. A breach halts the run and notifies your emergency contact.
The kill switch stops every action immediately, and your emergency contact can trigger it without waiting for anyone at Seccuti.
Every refusal is shown to the customer with its reason. Hiding them would remove the evidence that the boundary held.
Why check at execution rather than at planning?
Because a plan can be correct and an action still wrong. A target can resolve somewhere new between the plan and the request, a window can close mid run, and a policy can be tightened while a run is live. Checking at the moment of execution is the only check that cannot be overtaken by events.
- Scope
- Target bound. The specific host of this action, not the engagement as a whole.
- Pre-flight resolution
- The name is resolved and the address checked before the action runs, which closes redirect and shared host gaps.
- Action classes
- Reconnaissance and enumeration default on. Exploitation, credential testing and destructive classes default off.
- Circuit breakers
- Hosts touched, concurrency, request rate, token and cost budgets, wall clock, and an error spike stop.
- Kill switch
- Per engagement and global. Checked before every action.
- Audit
- Every action and every refusal is recorded with its reason and shown to the customer.
Read the refusals as well as the findings.
Both are part of the deliverable.