12 — Testing, sizing and release acceptance

12 — Testing, sizing and release acceptance#

Handbook index

Evidence, not architecture promises#

Test layers#

Layer Coverage
Unit Parsers, offsets, validators, policy precedence, identity resolution, signature checks
Shared conformance Same fixtures through Go/Python surfaces where parity is promised
Protocol Real proxy/TLS path to controlled upstream, HTTP versions, streams, adapters
Security Spoofing, open-proxy/SSRF, tenant isolation, replay, secret exclusion
Integration IdP, database, policy assignment, inference, spool and SIEM
Appliance Clean install, interruption/retry, backup, upgrade, uninstall
Infrastructure Fresh buyer account, subnet/DNS/IAM, AZ loss and data retention
Commercial Entitlement, node replacement, outage and metering reconciliation

Mandatory acceptance matrix#

ID Scenario Required result Requirements
T-01 Clean supported request Upstream receives expected content; correct metadata FR-01, FR-03
T-02 Supported secret with BLOCK No original body reaches upstream FR-04
T-03 Supported PII with MASK Upstream receives transformation; response remains valid FR-05
T-04 Two users share NAT/proxy Correct distinct policy identities FR-02
T-05 Client injects team/identity header Header cannot elevate privilege FR-02
T-06 Malformed/compressed/oversize input Bounded resource use and declared protected behavior FR-01, FR-10
T-07 Spoofed placeholder/cross-user conversation No other user's original data restored FR-05, FR-06
T-08 Upstream TLS invalid Connection rejected; no verification bypass FR-06
T-09 Metadata/management/private target abuse Unauthorized target denied FR-06
T-10 Policy signature invalid/expired/replayed No unsafe policy activation FR-03
T-11 Management down, valid cached policy Protection continues; degraded status visible FR-10
T-12 Model timeout/invalid output No clean-result fallback for required semantic rules FR-03, FR-10
T-13 Crash before/after audit ACK Safe replay and deduplication; loss bound documented FR-07
T-14 SIEM down and spool full Bounded storage, alert, configured enforcement behavior FR-07, FR-10
T-15 Internet denied in strict private mode Supported local workflows function without hidden vendor calls FR-06
T-16 Fresh image launched twice Different keys/identities; no customer/test secrets FR-08
T-17 Install interrupted at every checkpoint Resume without destructive reinitialization FR-08
T-18 Previous supported version upgrade Data/policy preserved; compatibility validated FR-09
T-19 Isolated restore Measured recovery and decryption; no duplicate external effects FR-09
T-20 Gateway/AZ loss during streams Documented failures; new traffic on surviving capacity FR-10
T-21 License endpoint outage/expiry Correct distinct states, no hidden bypass/double billing FR-11
T-22 Uninstall after active use Safe routing/trust removal and deliberate data retention FR-12
T-23 IPv6/QUIC/pinning/bypass paths Each protected, blocked or visibly excluded as documented FR-01, FR-10
T-24 Monitor-only mode Clearly distinguishes evaluated from enforced action FR-03, FR-10
T-25 Inspect logs/export/support bundle No synthetic secret/cookie/key leakage FR-06, FR-07

For T-02/T-03, inspect the controlled upstream's actual received bytes, not only the Zotline decision response. For privacy tests, seed unique canary strings and search every configured persistence/export destination, including exception logs and model diagnostics.

Client support matrix template#

Before GA, replace TBD entries with named versions and evidence:

Client and version OS Proxy auth Trust configuration Protocol/adapter Upload/stream support Result
Browser + selected AI web app: TBD TBD TBD TBD TBD TBD Not certified
Coding assistant: TBD TBD TBD TBD TBD TBD Not certified
AI API client: TBD TBD TBD TBD TBD TBD Not certified
Internal model client: TBD TBD TBD TBD TBD TBD Not certified

Do not promote a working demo to broad compatibility. Provider payloads evolve; maintain synthetic adapter fixtures and a controlled compatibility check process. Separate “connects through proxy” from “content inspection and rewriting are certified.”

Performance workload model#

Collect expected users, peak requests/second, concurrency, median/p95/max body size, upload distribution, TLS handshake rate, response streaming duration, semantic-rule fraction, retention and acceptable latency. Separate burst rate from daily average.

Measure deterministic overhead separately from model queueing/inference and provider response time. Report p50/p95/p99 under sustained and burst load, with error/coverage rate. Throughput claims are valid only for the tested payload, rules, model and hardware profile.

Approximate steady-state inspected concurrency as arrival rate × inspection duration. This relationship is a starting estimate; burst queues, long streams and TLS state also consume resources. Estimate in-flight body memory using concurrent buffered requests × bounded decompressed size plus parser/rewriter overhead. A 10 MiB cap and 100 simultaneously buffered bodies already imply roughly 1 GiB of body storage before overhead.

Worked audit sizing example#

Assume 1,000,000 events/day at 1,500 bytes/event and 30-day retention. Raw event payload is 45,000,000,000 bytes, about 45 GB decimal. This excludes indexes, row overhead, WAL, replicas, archives and backups. Measure those factors with the chosen schema rather than assigning an unexplained universal multiplier.

At a peak of 100 events/second and an 8-hour ingestion outage, raw queued events occupy 4.32 GB decimal. Add record/encryption/filesystem overhead and headroom; also test replay throughput while normal traffic continues. These are illustrative inputs, not capacity guarantees for Zotline.

Initial lab sizing#

A single-node deterministic test environment can start at 4 vCPU, 16 GiB RAM and 100 GiB durable storage. This is not a supported minimum until measured. Semantic inference hardware depends on model, precision, context, batching and concurrency; size it separately. Reserve capacity for one-node failure in HA profiles rather than using 100% of aggregate capacity during normal operation.

Accuracy evaluation#

Use labeled synthetic/publicly authorized fixtures covering true positives, benign lookalikes, multilingual text, long contexts, escaped/encoded strings and adversarial instructions. Report per-category false-positive and false-negative rates with sample sizes and known gaps. Natural-language policy quality and regex detection quality are different measurements.

Any model/detector change can change enforcement. Treat it as a versioned release with regression analysis and customer canary, not a transparent dependency patch.

Release evidence package#

Include completed requirement-to-test mapping, support matrix, security scan findings/disposition, privacy egress capture, protocol artifacts, upgrade/restore timings, regional installation results and commercial-flow results. Security and product owners sign off remaining limitations. No critical unmitigated prevention/isolation failure can be hidden as an operational note.

Was this page helpful?