Information hierarchy
The results screen has to make 192 calls, 12 findings, 6 modules, 4 strategies, and a score on every row readable at a glance.
A one-week take-home for an AI-security startup. The brief asked for two screens: scan setup and results. I designed those two, and ten more states around them: running, interrupted runs, evidence review, export and retest.
The product places hundreds of adversarial phone calls against a customer’s voice AI agent and reports where the agent broke. The exercise was one screen to configure a scan and one to read the results.
The brief also named four focus areas. Only the first one sits inside those two screens. The other three shaped the states around them.
The results screen has to make 192 calls, 12 findings, 6 modules, 4 strategies, and a score on every row readable at a glance.
A scan runs for about 40 minutes. The two requested screens did not show what happens during that time.
A run that stops at call 60 of 192 has already found things. Those findings need their own screen.
Analysts discard alerts they cannot explain. That applies to every row in the findings table.
Several AI agents got the same brief, each arguing a different position: the product logic, the evidence, or the case study. They wrote into one shared review file and answered each other. Three arguments changed the work.
One agent wanted a stronger opening claim. Another showed it went past the brief. The hero now names the two requested screens and the states I added.
The percentage was clear, the denominator was not. An attempt is now a call that reached the behaviour under test. I rechecked every total against it.
The first pass annotated too many screens. Running reads as a thumbnail, Partial results and Evidence do not. Five screens kept their notes.
Twelve states shipped. Two were requested. The other ten cover setup conflicts, progress, failure, evidence, export and retest.
Choosing what to test, and what it will cost.
What happens during the roughly 40-minute scan, including interrupted runs.
What the run can claim, and what different readers need from it.
How a reviewer checks the recording and transcript without exposing sensitive data by default.
Whether the fix held, measured against a comparable run.
Six modules × four strategies × eight variations = 192 calls. The panel updates with the configuration and shows call count and estimated runtime.
A Live scan places real calls to a production number and costs money. Selecting it opens a safety review.
The header shows that 6 of 10 modules are covered, so exclusions are visible before the scan begins.
Maximum test turns only applies to multi-turn strategies. The field is linked to the matrix, and both update the estimate.
The screen opens with “The agent broke in 4 of the 6 attack modules tested”. Four KPI cards of equal weight would leave the reader to work out which number matters.
A Critical that breached once in 40 attempts and a High that breached 38 times are different problems. Every row shows both. An attempt is a call that reached the behaviour under test, so the denominator changes per finding.
Run order is an operational detail. The matrix shows which attack strategies were effective against each module.
Each level uses a letter, a rank bar, and a text label, so colour is not the only cue.
60 of 192 calls completed. Two findings, valid for the two modules that were reached. Resume continues from call 60.
Comparison to the previous run shows a dash and the label “not comparable, partial coverage”. A numeric delta would imply evidence the scan did not collect.
The four modules the run never reached are listed by name and marked as untested. The report does not count them as clean.
Six of ten modules ran. The headline and the empty state both state the coverage, so a zero is not read as a clean result for all ten.
The empty state offers three next actions: add the four untested modules, raise the limit to 16 turns, or schedule a weekly scan.
The drawer shows the 9.0 with its inputs: CVSS base 7.4, agentic factor sum 6.5 of 10, threat multiplier 0.97, mitigation factor 1.0, AARS +1.6. AIVSS is a draft at v0.8, so the inputs stay visible.
The waveform opens at the relevant four-second segment, so the analyst can verify the finding without scanning the full recording.
Customer names are masked in the transcript and bleeped in the audio. Revealing them requires a deliberate action and creates a record.
Evidence20 SOC practitioners surveyed, 21 more interviewed. Many alarms filed as false positives are benign triggers: real detections caused by legitimate behaviour. Five properties make validation faster: reliable, explainable, analytical, contextual, transferable.
In the interfaceEvery finding shows its module, strategy, prompt, reply and attempt count. A review action lets an analyst challenge the model’s verdict.
EvidenceCVSS v4.0 separates Base from Threat and Environmental metrics. Regulatory exposure, customers affected and monetary loss fall outside CVSS. The score is an input to prioritisation.
In the interfaceSeverity and observed breach frequency appear together on every row. The screen opens with what broke. The score comes after.
EvidenceAIVSS v0.8 combines a CVSS v4.0 base with an agentic factor sum, threat multiplier and mitigation factor to produce AARS.
In the interfaceThe drawer shows the CVSS base and every adjustment used to reach AARS, so a reviewer can check the calculation.
EvidenceThe same study describes alarm validation as tedious work that leads to burnout and then to desensitisation. Contextual and transferable are two of the five properties that shorten it.
In the interfaceThe finding, audio, transcript, remediation and retest stay in one drawer over the list, so reviewers keep their place in the table.
No usability session was run. Every user claim on this page is an assumption. The ledger records each one and what would change it.
The false-positive and triage studies cover security operations centres in general, not this product’s users. I used them as directional evidence.
No responsive work was done. All data is fictional, held in one source file so the twelve states stay consistent.
| Assumed user | What it decided | What would change the decision |
|---|---|---|
| An AI red-teamer runs the scans and reads the findings | Density over guidance. No wizard, no coaching copy, six modules on one screen. | If setup is run by a customer-success owner, the form needs a guided mode and the matrix has to collapse. |
| A conversation designer owns the fix | Remediation is written as a change to the agent, not as a code patch. | If fixes ship from a ticket by engineers, remediation belongs in the export, not in the drawer. |
| A CISO signs off on Live runs | Live requires four settings, a typed confirmation and a named approver. | If Live runs nightly in CI, the safety review is friction and belongs in a policy setting instead. |