Back to work

Elastic
Detections

RoleDesign Lead
CompanyElastic
ToolsFigma, Cursor, Research
StatusShipped
Elastic Detection Rules — Add Rules semantic search interface

Rule discovery was broken. Semantic search fixed it.

Elastic's detection rule library had grown to hundreds of rules spanning multiple types but search was keyword only. If you didn't know the exact rule name or tag, you were stuck.

I redesigned rule discovery around semantic search — natural language queries that understand intent, not just string matching. The result: analysts find the right rules faster, with less expertise required.

32% reduction in time to first rule activation. 40% fewer search refinement cycles.

02 My Role

Design Lead

Figma Cursor User Research Prototyping Design Systems

The Problem

Before redesign, rule discovery support tickets were the most common category in the Elastic Security queue. During research with 15+ analysts across enterprise and mid-market accounts, the same pattern repeated: users started in the rule catalogue, hit an overwhelming filter panel with no clear entry point, and either asked a colleague or gave up. Two findings drove every design decision that followed.

Finding 1 → Decision → Outcome: Users didn't understand why different rule types lived in different places. From their perspective, a detection rule is a detection rule — the internal taxonomy was invisible. This drove the unified architecture: one surface, organised by intent rather than internal structure.

Finding 2 → Decision → Outcome: Less experienced analysts weren't failing at search — they were failing at knowing what to search for. This drove semantic search: route around the taxonomy entirely by understanding query intent rather than matching keywords.

Rule discovery

No intelligent assistance

Users struggled to locate relevant rules within a large and growing catalogue with no guidance to help them navigate it.

Fragmented surfaces

Split across multiple surfaces

Different rule types were accessed and managed in separate areas, creating confusion and inconsistent workflows.

Cognitive overload

Dense, technical decision fatigue

Dense metadata, technical terminology, and extensive filtering created decision fatigue at every step.

Expertise dependency

Assumed prior knowledge

Selecting the right rules required deep domain knowledge many users simply did not have.

Users with deep Elastic knowledge navigated through muscle memory. Everyone else lost 20+ minutes per session or escalated to colleagues.

UX success criteria

04 Process

From fragmented systems to a unified framework

Step 01

Discover & Empathize

Step 02

Assumption Mapping

Step 03

Define & Frame

Step 04

Design & Validate

Step 01 — Discover & Empathize

Full rule ecosystem audit + stakeholder interviews across product, engineering, and security. Three friction spikes mapped: orientation confusion on landing, inability to assess rule relevance, and configuration steps that assumed expertise users didn't have.

LAND ON RULES BROWSE CATALOGUE ASSESS RELEVANCE CONFIGURE RULE VALIDATE ACTIVATE HIGHMIDLOW "Where do I even start?" "Is this rule right for me?" "I don't know what these fields mean" "Finally active — took 40 mins" Current experience Redesigned experience
Analyst journey map — rule discovery and activation · Current vs redesigned experience · Composite from 15+ interviews

Built on 25+ prior user interviews: Figma-based Workflow artefacts now used company-wide at Elastic, capturing JTBD, personas, data sources, and live issues per security role.

Elastic Security workflow artefacts
Elastic Security workflow artefacts — JTBD, personas, and data sources used across the security design team

User research — 15+ sessions

Two research rounds — open discovery first, then concept validation. 15+ analysts across enterprise and mid-market, varying expertise levels.

15+
Security professionals interviewed across discovery and validation rounds
2
Research rounds — open discovery, then concept validation with prototypes
Mixed
Enterprise and mid-market accounts, varying technical expertise levels

I know the rules I need exist somewhere. I just spend 20 minutes trying to find them every time.

Senior Detection Engineer · Enterprise

The filtering is powerful but I need to already know what I'm looking for. If I don't, I'm lost.

SOC Analyst · Mid-market

I've got prebuilt rules, custom rules, shared rules, all in different places. I can never remember which surface to go to.

Security Engineer · Enterprise

If the AI could just look at my data sources and tell me what to enable, that would change everything for my junior analysts.

Head of Security · Scale-up

Step 02 — Assumption Mapping

Key disproved assumption: fragmentation was a navigation problem. Research showed it was a mental model problem — users had no coherent picture of the rule landscape, so navigation improvements alone would have failed.

Assumption map — importance vs confidence
Assumption map — importance vs. confidence · Used to prioritise research questions before design work began

The most important disproved assumption was that fragmentation was a navigation problem. Research made clear it was a mental model problem — users had no coherent picture of what the rule landscape looked like, so they couldn't navigate it regardless of how we structured the menus. This reframed the entire design challenge.

Step 03 — Define & Frame

Activation

Time to First Rule

Reduction in time from session start to first rule enabled. Target: meaningful improvement vs baseline.

Discovery

Search Refinement Cycles

Reduction in the number of filter and search iterations needed to find a relevant rule.

Adoption

Multi-rule-type Usage

Increase in accounts using more than one rule type — a signal that unification is working.

Confidence

Rule Management Satisfaction

Improvement in satisfaction scores specifically tied to rule management across all skill levels.

Step 04 — Design & Validate

Prototyping from the Kibana repo — not Figma

Rather than testing with static mockups, I built a working prototype directly from the Kibana codebase using Cursor, populated with accurate dummy data matching the structure of real detection rules. This gave us production-accurate behaviour from day one — semantic search ranking, result grouping by rule type, and filter interactions all behaved as they would in the shipped product.

Testing sessions revealed specific ranking issues that no Figma prototype could have surfaced: rules with partial keyword matches were ranking above more semantically relevant rules, and the unified grouped view was confusing for users who expected results ordered by recency. Both were fixed before any engineering sprint began. The prototype also let less experienced analysts experience semantic search for the first time with real rule names — their reactions informed the final result card design more than any other research input.

Architecture first — a unified rule library organised by intent, not internal structure. Progressive disclosure handled expert depth without hiding capability from expert users. I mapped three user journeys before any wireframes, using them as a research artefact in stakeholder and user sessions.

Why an AI copilot and not improved filtering

Three approaches were evaluated before committing. (1) Richer faceted filtering: ruled out because the problem wasn't navigation — it was vocabulary. Users without the terminology couldn't construct a useful filter even with better UI. (2) A recommendation sidebar: prototyped and tested — analysts found it helpful as a discovery aid but it didn't solve the zero-to-one problem. A user with no rules enabled had no context to generate a recommendation from. (3) A conversational copilot accepting environment-level inputs — "I'm running Okta and AWS CloudTrail" — returning opinionated, prioritised recommendations. This is what analysts responded to. The experience shifted from exploration to guided activation.

The copilot is the most consequential design decision on this page. It works by reading a user's installed integrations and active data sources — Endpoint agents, cloud connectors, network sensors — and cross-referencing them against the rule catalogue to surface what's relevant and currently disabled. A user with an AWS integration installed would see critical cloud threat rules they hadn't enabled. A user with Endpoint on Windows would see lateral movement and execution rules ranked by coverage gap severity.

The recommendation surfaces inline as a dismissible card within the unified rule list — not a modal, not a sidebar. This placement was the result of prototype testing: a persistent sidebar panel caused engineers to ignore it as background noise after the first session. An inline card that appeared after a search or filter action, with a clear "View 12 rules for your environment →" CTA, was acted on significantly more often.

The wrong version of this feature would have been a recommendations tab — a separate surface users had to navigate to. Research made clear that discovery friction was already the core problem. Adding another surface to navigate to would have reintroduced the exact problem we were solving.

Based on prototype testing with 8 participants, round 2 validation sessions — internal Elastic Security users at varying expertise levels.

Detection Rules — Proposed User Journeys user journey map · research artefact · 3 entry paths to rule discovery New integration New threat intel Monitoring alert Shared / converged flow Semantic search step TRIGGER / ENTRY POINT New data integration User installs a new Elastic Agent integration (e.g. AWS, Endpoint) → New data source now active New threat intelligence Security team receives new threat intel or CVE advisory → What rules cover this? Monitoring activity Rule executes with false positives or shows execution failure → Rule needs finding & fixing INITIAL ACTION Navigate to Detection Rules via nav or integration prompt Search rules by technique / CVE tag direct search or MITRE filter Open alert / execution failure notification from AutoDEX feed or inbox AI COPILOT INTERCEPT ✦ Copilot detects 12 rules match your new data source → AI ✦ Copilot finds 4 rules covering this technique — 2 inactive → ✦ Copilot diagnoses FP pattern — proposes exception or tuning → all paths converge UNIFIED RULES LIBRARY Detection Rules — Unified Library All rule types · Intent-based filters · Semantic search · Intent-based filters · Unified results Progressive disclosure · Single source of truth REVIEW & DECIDE Assess rule Relevance · Severity MITRE coverage Read AI reasoning Copilot explains why this rule is suggested Configure rule Exceptions · Thresholds Data source confirm OUTCOME Enable rule Rule active · logged coverage gap closed Tune existing rule Exception applied noise reduced Escalate / skip Flagged for review search refinement previously: 3+ surfaces no single view Elastic Detections · Proposed user journeys · Research artefact used in stakeholder alignment & user interviews · AN 2024
Proposed user journeys — 3 entry paths converging into the unified rules library · Used as a research artefact in stakeholder sessions and user interviews
Detection Rules — Unified Library wireframe · lo-fi · stakeholder review Filters Rule type ☑ Prebuilt ☑ Custom Coverage ☑ MITRE ATT&CK ☑ CIS ☐ Custom tags Data source ☑ Endpoint ☑ Network ☑ Cloud Semantic search filter assist ✦ Based on your environment → 🔍 Search rules... All rules My rules Suggested 1,247 rules RULE NAME TYPE SEVERITY STATUS ACTIONS Unusual Network Destination Domain Name Endpoint · Threat detection Prebuilt High Active Edit Potential PowerShell HackTool Script by Author Windows · Execution Prebuilt Critical Inactive Enable Linux Restricted Shell Breakout via env Linux · Privilege escalation Prebuilt High Active Edit AWS CloudTrail: Privilege Escalation via IAM Policy Cloud · IAM · AWS Custom Critical Inactive Enable ✦ AI Copilot — Recommended for your environment Based on your installed integrations (Endpoint v8.12, AWS, Windows), 12 rules are not enabled that match your data sources. The highest-priority gap is lateral movement coverage on Windows. View 12 rules → Dismiss Showing 1–25 of 1,247 rules Load more AI panel inline rule type colour bar unified table all types Detection Rules Unified Library · lo-fi wireframe · AN 2024
Lo-fi wireframe — unified rule library with semantic search and intent-based filters · Used in stakeholder alignment sessions

The design was validated using a real Cursor prototype built directly from the Kibana repository with accurate dummy data — not a static Figma mockup. This gave us production-accurate behaviour to test with real users, letting us iterate on the semantic search ranking, result grouping, and filter interactions at speed. What would have taken weeks of speculation was answered in the first testing session.

Final designs — unified rule library with semantic search and intent-based discovery

Prototype testing confirmed it. Less experienced users described semantic search as the first time they could find rules relevant to their environment without needing to know Elastic's internal terminology.

05 Results

Impact across activation, discovery, and adoption

1

Time to value

  • 32% reduction in time to first rule activation
  • 24% increase in first-session rule enablement

How measured: task-based usability testing, 15+ participants. Production analytics post-launch.

2

Discovery quality

  • 40% fewer search refinement cycles
  • 18% increase in successful rule enablement after browsing
  • Reduced support tickets related to rule discovery

How measured: search interaction analytics; customer success retrospective.

3

Adoption breadth

  • 15% growth in multi-rule-type usage per account
  • Measurable improvement in rule adoption among analysts without deep platform expertise

How measured: product analytics, 6 months post-launch. In-product CSAT, N=87.

32%Faster rule activation
40%Fewer search cycles
15%More multi-type usage

Signing Off

Key takeaways

Next Project

Eggplant AI Test