Justin Cox

Case study · Glasswall Email Interceptor

A cloud security console that made automated protection observable.

Email Interceptor sanitizes every attachment before it reaches an inbox. The hard part was never the sanitization. It was giving administrators confidence in a process they could not see.

Glasswall Email Interceptor: the security console, showing the transaction log, policy management, and risk alerts.
Existing tooling
80% of surveyed administrators already ran email security tools
Switching intent
92% said they would switch after seeing CDR
Revenue opportunity
$500K projected annual revenue from early interest
01 · Overview

What Email Interceptor is

Glasswall Email Interceptor is a cloud security console. It intercepts email attachments, sanitizes them through Content Disarm & Reconstruction, and delivers a rebuilt file that carries none of the original threat.

The technology already worked. What the product needed was a way for a security administrator to see it working, and to explain it to someone else afterward.

Four things make that possible:

The transaction log
records every attachment's full lifecycle: sender, recipient, file type, timestamp, and outcome.
Policy controls
mirror the organization's real structure, so risk tolerance can differ by department without chaos.
Risk alerts
surface what still warrants human review, prioritized for clarity rather than urgency.
The File Tree
preserves nested archive structure, so a threat's location stays legible rather than flattened.

None of that structure came from the technology. It came from what the problem turned out to be.

The Transaction Log. Policy and group management. The console dashboard. Risk alerts. The File Tree.
02 · Problem

Automation removed effort, but it also removed reassurance

Security administrators were being asked to trust a process they could not see, could not verify, and could not explain to anyone else. The tools that existed either hid the logic entirely or dumped raw data that required constant interpretation.

Three pressures met in the same place, and none of them could be solved by making the sanitization better:

Security administrators
carried responsibility for threats they could not see and processes they could not verify.
Organizations
needed different risk tolerances across departments without introducing policy chaos.
Existing tools
either hid critical processing logic or exposed raw logs that required constant interpretation.
Make automated protection feel observable, controllable, and dependable.

That was the product goal, and it set the bar for everything after it. Every automated action needed a visible explanation: not a guarantee, but a record.

03 · Role

Lead Product Designer on a cross-functional team

I led product design from early validation through interaction design and usability testing, working closely with product leadership, engineering, cloud architects, and security subject-matter experts.

Because the product introduced a new way of operationalizing Content Disarm & Reconstruction, much of the work was translation: taking highly technical security concepts and turning them into workflows administrators could understand, trust, and act on.

Research: validation & usability Product strategy: MVP scoping Interaction design Information architecture Stakeholder alignment

The challenge extended past designing screens. Administrators would ultimately be accountable for decisions the system made on their behalf, so every workflow had to balance automation against transparency. Success depended on building enough shared understanding across product, engineering, and security that automation could feel observable, explainable, and trustworthy.

04 · Validation

Before designing the interface, the problem had to be confirmed as worth solving

80% of surveyed administrators already relied on email security tooling, so this was not an unserved market. It was a dissatisfied one. 92% said they would switch after seeing what CDR actually did.

That gap between having a tool and trusting it is where the opportunity sat. Early interest supported a projected $500K in annual revenue, but the number mattered less than what produced it.

The opportunity wasn't technical differentiation. It was making a security outcome feel trustworthy, something existing tools had consistently failed to do.

Each validation finding pointed at a specific thing to build:

Research → product
Research finding Product decision
Administrators can't verify what automation did A transaction log as the product's center of gravity
Departments carry different risk tolerances Policy controls mirroring real org structure
Raw logs create interpretation load, not clarity Risk alerts prioritized for clarity over urgency
Policy assignment meant command-line work Visual Azure group integration
05 · Technical planning

Designing the system before designing the screens

Before any interface work, I spent time with the cloud engineers and product leadership working out what the system would actually do. Not as a hand-off or a requirements review, but as design work. In a product where every screen is a report on an automated decision, the behaviour of the system is the interface.

The method was to draw it. I brought diagrams into working sessions rather than documents, because a diagram is something a group can disagree with precisely. Engineers could point at a path and say that isn't how the service behaves; product leadership could point at another and say we're not funding that in v1. Both are answers you want before you've designed a screen around them.

Flow chart titled EI: CDR Failure Flows, mapping what happens after CDR fails. Colour-coded by actor: Glasswall, recipient, and administrator, with OneDrive paths marked separately. A failed file branches into a recipient warning with or without the file, then into outcomes including download, file held, file held in OneDrive, and file replaced with a text or screen-capture substitute. Held and failed-replacement files route to a request for administrator release, which the administrator inspects and either approves or denies, returning the file to the recipient or ending the flow.
One of those maps: what happens when CDR fails. Colour-coded by who acts (the service, the recipient, the administrator), so the hand-offs between them are the thing you read first.

Mapping this way kept surfacing decisions nobody had made yet, and they were rarely purely technical. If a file is held, does the recipient learn it existed at all? When a file is replaced, is a text extract or a screen capture the honest substitute? Who is allowed to request a release, and what does an administrator need to see before approving one? Those look like engineering questions and they are product questions, which is exactly why they needed both groups in the room.

Three things came out of working this way. The interface was designed against what the system could really do, instead of an optimistic version that would have to be walked back. Scope conversations got concrete early, because cutting a path on a diagram is cheaper than cutting a screen. And the team left with one shared vocabulary for these outcomes: held, replaced, released. That became the language the transaction log itself uses.

06 · Strategy

Trust is built through visibility, not claims

Instead of treating CDR as a background service, the interface was designed to surface every layer of the process. Each automated action had a visible explanation an administrator could point to.

Four questions the interface has to answer for every single file:

  1. What was intercepted. Every attachment logged with full context: sender, recipient, file type, timestamp.
  2. What was changed. CDR modifications surfaced explicitly, so an administrator can see exactly what sanitization removed or reconstructed.
  3. What risk remained. Residual risk indicators separating what is safe from what still warrants human review.
  4. Which policy decided. Every outcome tied back to a specific rule, making governance auditable and reducing second-guessing.
Early sketch working out how the four questions map onto the console: what was intercepted, what was changed, what risk remained, and which policy decided.

Those four answers are what turns a black box into a record. An administrator who can answer all four can defend the outcome to an auditor, a manager, or the person whose attachment was rebuilt.

07 · Scope

One question shaped every scoping decision

“What does an administrator need to see to feel confident walking away?” The MVP test

Confidence walking away is a higher bar than task completion. It rules out anything that only works while someone is watching it. Four things cleared that bar and made the MVP:

Transaction log
a complete lifecycle record for every attachment: who received it, how it was processed, what was removed.
Policy controls
rules that reflect real organizational structures, not flat permission models that ignore departmental risk variation.
Risk alerts
clarity over urgency noise: alerts that help administrators prioritize without creating alert fatigue.
Azure group integration
policy assignment through a visual interface, with no command-line dependency for administrators managing dozens of groups.
08 · Making automation observable

The Transaction Log as a trust surface

The log became the center of trust. Administrators could see who received what, how it was processed, what was removed, and which policy governed the outcome.

Not as raw data, but as a narrative of each file's journey. That distinction is the whole design. A table of events tells you that things happened; a journey tells you what happened to this file and why.

This is what transformed CDR from an invisible promise into a verifiable action. The technology did not change. What changed was whether anyone could point at it.

The Processed files view: a table of intercepted emails, each row showing transaction ID, timestamp, sender, recipients, attachment count, original risk level, and processing result. A tooltip explains what a high risk rating means.
09 · Policy & group management

Impact visible before consequences occur

Policy changes carry real risk. A single misconfiguration can expose an entire department, and the administrator making the change usually finds out after the fact.

Three decisions moved that discovery earlier: the interface shows a policy's scope before activation rather than after, it mirrors Azure's group structure so the administrator isn't holding two mental models at once, and it replaces command-line workflows with visual confirmation.

Each rule states its own consequence in the column header: sanitise balances usability and security, allow keeps risky active content, disallow stops the file entirely. An administrator tuning a policy can see what they are accepting at the moment they accept it.

Together those let administrators change policy with confidence rather than caution, which in practice is the difference between a policy model that gets tuned and one that gets frozen.

Wireframes of the Policy Settings screen. A named policy lists content types down the left (Acroforms, Actions, digital signatures, embedded files, embedded images, internal and external hyperlinks, JavaScript) for a chosen file format such as PDF, Word, Excel or PowerPoint. Each row offers three options across labelled columns: Sanitise, marked Recommended for balancing usability and security; Allow, marked Least secure for keeping risky active content; and Disallow, which stops the file from being processed. A second panel shows group selection, listing Azure groups and individual addresses with Cancel and Confirm actions.
10 · Designing for complexity

In security, clarity is a control surface

Three attachment scenarios shaped the interaction model: deeply nested archives, high-volume file batches, and single-file transactions. The choice between a File Tree and a flattened File Span was not aesthetic. It was about risk interpretation.

Tried

File Span, a flattened list. Cheaper to build, faster to render, and simpler on screen. Task-based testing showed administrators misread both threat location and severity once hierarchy was gone.

Chose

The File Tree, despite higher engineering cost. Nested structure preserved the spatial relationships administrators were actually relying on to make accurate decisions.

Sketch of the File Span: every file in the archive flattened into one list, with no indication of how deeply any of them was nested.
Tried File Span
Sketch of the File Tree: the same archive drawn as a nested hierarchy, so each file's depth and position stays visible.
Chose File Tree
When the interface flattened structure, administrators made worse decisions. The visual model wasn't cosmetic. It was functional.

Accuracy in threat understanding outweighed the performance savings, so we took the cost on purpose. A faster interface that produces a wrong risk judgment isn't a cheaper product. It's a broken one.

The tree is doing real work here: an archive's nesting is the threat's address. Flatten it and every file looks equally close to the surface.

A row in the Processed files table expanded to reveal its attachments: a nested file tree on the left preserving the archive's folder structure, and the files themselves on the right, each labelled with its original risk level and whether it was cleaned or left unprocessed.
11 · Usability testing

Testing measured decision confidence, not speed

Success wasn't defined by task completion time. It was defined by whether administrators could explain their decisions afterward, and whether they trusted the system enough not to manually reprocess files.

Three things were measured:

  1. Risk location. Could administrators correctly identify where a threat lived within a complex file structure?
  2. Outcome explanation. Could they explain why a file was determined safe without consulting documentation?
  3. Trust in automation. Did they rely on CDR outcomes without manually reprocessing files they hadn't flagged?
“Success meant fewer second-guesses.” The standard we tested against
What we optimized for

Administrator confidence in automated outcomes, not interface speed and not click reduction. A faster path to a decision nobody can defend is not an improvement.

What that required

Visible explanations at every step. The system had to be readable, not just reliable.

Method and limits

Task-based testing with security administrators, scored on interpretation accuracy rather than time on task. That measures whether a mental model holds, but not whether it holds up under months of daily use. Sustained trust in production is the thing this method can't reach, and the first thing I'd instrument next.

12 · Impact

This work defined the foundation for a new product line

Email Interceptor reframed CDR from a background service into a visible security control, and that reframing outlasted the project.

Market demand
validated switching intent and revenue opportunity through early research, before a single screen was designed.
Observable automation
established visible CDR processing as a core product principle rather than an afterthought bolted on once engineering was done.
Shared language
created alignment between UX, cloud architecture, and engineering around one shared model of trust and transparency.

More importantly, it changed the emotional posture of the product, from a black box to a system administrators could stand behind. By designing for confidence, explanation, and accurate mental models, teams could rely on automation without surrendering accountability.

When nothing happening is the best outcome, the design made that silence understandable and trustworthy.
13 · Reflection

What I took from it