Scoring: Overview
Scoring: Overview
Risk Scoring System - High-Level Design
Audience: Technical Teams, Management, Product Owners\nReading Time: 10 minutes\nLast Updated: November 12, 2025
๐ฏ The Big Picture
Imagine your organization's security as a living, breathing organism. Every security eventโa detected threat, a resolved incident, a new vulnerabilityโaffects its health. But how do you measure this health in real-time? How do you communicate "Are we secure?" in a single glance?
Enter the Risk Scoring System: A self-updating "credit score" for your security posture that transforms thousands of security events into one meaningful number.
๐ง Core Philosophy: Event-Driven Intelligence
The system operates on a simple but powerful principle:
"Every security event tells a story. We listen, calculate, and updateโautomatically."
No manual spreadsheets. No weekly reports. No guesswork. Just real-time, data-driven security metrics.
๐๏ธ Architecture at a Glance
Think of the system as a three-layer cake:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐จ PRESENTATION LAYER โ
โ (What users see and interact with) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ ๐งฎ COMPUTATION LAYER โ
โ (Where the math magic happens) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ ๐ DATA LAYER โ
โ (Event streams & persistence) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโLayer 1: Data Layer (The Foundation)
What happens here: Every security actionโdetection created, incident resolved, vulnerability patchedโgets logged as an audit event.
Technical Detail: These events stream through our EventLog system in real-time. Think of it as a river of security activity flowing 24/7.
Example Event:
"A new phishing detection was classified"
โ
Event: monitor.DETECTION_INTELLIGENT_CLASSIFICATION_COMPLETED
Entity: DDT-C321-7071-4519
Timestamp: 2025-11-12 14:23:45Layer 2: Computation Layer (The Brain)
What happens here: The system watches the event stream, recognizes important events, and automatically calculates score impacts.
The Flow:
๐จ Event arrives
โ
๐ฏ Match event to modules
โ
๐งฎ Calculate score change
โ
๐พ Update module scores
โ
๐ Recalculate global score
โ
โ
Done (in milliseconds!)Key Components:
1. Module Definitions (The Categories)
Security is divided into meaningful areas:
- ๐ก๏ธ Attack Surface Management - Your exposed assets and vulnerabilities
- ๐ญ Brand Protection - Phishing, domain squatting, reputation threats
- ๐ Compliance - Policy violations, audit findings
- ๐ Threat Intelligence - Active threats, indicators of compromise
Each module "listens" for specific events using triggers.
2. Configuration Engine (The Rulebook)
This is where organizations customize their scoring:
- Weights: "Attack Surface matters 40%, Brand Protection 35%, Compliance 25%"
- Formulas: Optional advanced math for complex scoring scenarios
- Module Selection: Choose which areas to monitor
Real-World Example:
Organization: FinTech Startup
Priority: Compliance is critical (regulated industry)
Configuration:
- Attack Surface: 30%
- Brand Protection: 20%
- Compliance: 50% โ Heavily weighted!3. Score Calculator (The Math Engine)
When an event occurs:
- Find affected modules - "This detection affects ASM and Threat Intel"
- Calculate impact - "ASM: -2 points, Threat Intel: -1.5 points"
- Update module scores - "ASM: 85 โ 83, Threat Intel: 90 โ 88.5"
- Recalculate global - "Global: 87.5 โ 85.8" (weighted average)
The Math (Simplified):
Global Score = (ASM ร 40%) + (Brand ร 35%) + (Compliance ร 25%)
= (83 ร 0.40) + (90 ร 0.35) + (95 ร 0.25)
= 33.2 + 31.5 + 23.75
= 88.45 โจLayer 3: Presentation Layer (The Experience)
What happens here: All this computation becomes beautiful, actionable visualizations.
๐จ The Dashboard
Central Feature: A shield-shaped gauge showing your global score with animated water fill:
___
/ \
| 87 | โ Your score (animated!)
\___/
๐ข ExcellentColor Psychology:
- 80-100 (Green) - "Excellent" - Sleep well tonight
- 60-79 (Green) - "Good" - Solid, minor improvements needed
- 40-59 (Amber) - "Fair" - Time to take action
- 0-39 (Red) - "Needs Attention" - All hands on deck!
๐ Real-Time Updates
User Experience:
- Security analyst triages a detection
- Within 2-3 seconds, the dashboard refreshes
- Module score updates with smooth animation
- Global score recalculates automatically
- Change appears in "Recent Activity" feed
No refresh button needed. It just works.
๐ The Complete Journey: Event to Dashboard
Let's follow a real security event through the entire system:
๐ฌ Act 1: The Event
10:45 AM - A security analyst classifies a new phishing detection as "High Severity"
Audit Log Created:
โโ Action: monitor.DETECTION_INTELLIGENT_CLASSIFICATION_COMPLETED
โโ Entity: DDT-C321-7071-4519 (the detection)
โโ Severity: HIGH
โโ Timestamp: 2025-11-12 10:45:23๐ฌ Act 2: The Recognition
10:45:23.001 - EventScoringProvider wakes up
๐ค "I heard that! Let me check my triggers..."
Trigger Match Found:
โ DETECTION_INTELLIGENT_CLASSIFICATION_COMPLETED
Affected Modules:
โโ Attack Surface Management (multiplier: -2.0)
โโ Threat Intelligence (multiplier: -1.5)๐ฌ Act 3: The Calculation
10:45:23.015 - Score updates begin
Module Updates:
โโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโโโโ
โ Module โ Was โ Now โ Change โ
โโโโโโโโโโโโโโโโโโโโโโโผโโโโโโผโโโโโโผโโโโโโโโโค
โ Attack Surface โ 85 โ 83 โ -2.0 โ
โ Threat Intelligence โ 90 โ 88.5โ -1.5 โ
โ Brand Protection โ 92 โ 92 โ (no change)
โ Compliance โ 95 โ 95 โ (no change)
โโโโโโโโโโโโโโโโโโโโโโโดโโโโโโดโโโโโโดโโโโโโโโโ
Global Recalculation:
Old: (85ร40%) + (90ร35%) + (92ร15%) + (95ร10%) = 88.8
New: (83ร40%) + (88.5ร35%) + (92ร15%) + (95ร10%) = 87.475
Final: 87.48 (rounded to 2 decimals)๐ฌ Act 4: The Visualization
10:45:23.120 - Dashboard updates (105ms total latency!)
User sees:
โโ Shield gauge animates from 88.8 โ 87.5
โโ Module cards update with smooth transitions
โโ "Recent Changes" shows new entry:
โ "Attack Surface: 85 โ 83 (Detection classified)"
โโ Trend chart adds new data pointTotal time from event to visual update: ~105 milliseconds โก
๐๏ธ Configuration Flexibility
For the Non-Technical Administrator
Quick Setup Wizard (5 minutes):
- โ Select modules from templates
- ๐๏ธ Adjust weight sliders (must total 100%)
- ๐๏ธ Preview score impact
- ๐พ Save and go live!
For the Technical Power User
Advanced Options:
- ๐งฎ Custom Formulas -
severity ร confidence ร 0.5 + threatLevel - ๐ฏ Custom Triggers - Map any audit log action to any module
- ๐ Multiple Configurations - Different scoring for different teams
- ๐ API Access - 55+ endpoints for integration
๐ Real-World Scenarios
Scenario 1: Security Team Dashboard (Morning Standup)
9:00 AM - Team lead opens dashboard:
๐ข Global Score: 87 (Excellent)
Module Breakdown:
โโ ๐ก๏ธ Attack Surface: 85 โ (2 new vulnerabilities)
โโ ๐ญ Brand Protection: 92 โ (phishing domains taken down)
โโ ๐ Compliance: 88 โ (no change)
โโ ๐ Threat Intelligence: 84 โ (3 new IOCs detected)
๐ฏ Action Items:
"Focus on Attack Surface today - score trending down"Decision made in 30 seconds.
Scenario 2: Executive Board Meeting
CEO: "How's our security posture?"\nCISO: Opens dashboard "We're at 87โExcellent range. Up from 82 last quarter."
๐ Trend (90 days):
90 โค โญโโโโฎ
85 โค โญโโฏ โฐโโฎ โ We are here
80 โคโโโโฏ โฐโโ
โโโโโโโโโโโโโโโโโโ
Aug Sep Oct Nov
โ
5-point improvement
โ
Above industry average (75)
โ
Zero critical incidents this quarterBoard confidence: High. Meeting: Successful.
Scenario 3: Compliance Audit
Auditor: "Show me evidence of continuous security monitoring."
Security Officer: Exports audit trail
๐ Score Change History (Last 30 Days)
โโโโโโโโโโโโโโฌโโโโโโโโโฌโโโโโโฌโโโโโโฌโโโโโโโโโโโโโโโ
โ Date โ Module โ Old โ New โ Reason โ
โโโโโโโโโโโโโโผโโโโโโโโโผโโโโโโผโโโโโโผโโโโโโโโโโโโโโโค
โ 2025-11-12 โ ASM โ 85 โ 87 โ Vuln patched โ
โ 2025-11-11 โ Brand โ 88 โ 92 โ Domain fixed โ
โ 2025-11-10 โ TI โ 90 โ 88 โ IOC detected โ
โโโโโโโโโโโโโโดโโโโโโโโโดโโโโโโดโโโโโโดโโโโโโโโโโโโโโโ
โ
Complete audit trail
โ
Automated tracking
โ
Compliance requirement: MET๐ Data Integrity & Security
Audit Trail Everything
Every score change is logged:
- Who/what caused it
- When it happened
- Old value โ New value
- Associated security event
- Automatic (no human intervention needed)
Score Boundaries
Automatic safeguards:
- Scores clamped to 0-100 range
- Invalid formulas rejected before saving
- Weight validation (must sum to 100%)
- No arbitrary code execution in formulas
Organization Isolation
Multi-tenant safety:
- Scores scoped to organizations
- No cross-org data leakage
- Configuration per organization
- Independent module definitions
๐ Performance & Scalability
Real-Time at Scale
Current Performance:
- โก Event processing: <100ms average
- ๐ Dashboard load: <500ms
- ๐ Score updates: Near-instant (2-3 seconds to UI)
- ๐พ Audit log storage: MongoDB (horizontally scalable)
Optimization Techniques:
- Batch module updates before global calculation
- Skip redundant recalculations
- Efficient database indexing
- Reactive UI updates (no polling)
Future-Proof Architecture
Easy to extend:
- โ Add new modules without code changes
- โ Create new formulas through UI
- โ Adjust weights on the fly
- โ Deploy multiple scoring systems (security, compliance, SLA, etc.)
๐ Key Takeaways
For Management
โ One number tells the whole story - No need to parse complex reports\nโ Automatic and real-time - Always up-to-date without manual work\nโ Data-driven decisions - Prioritize based on quantifiable impact\nโ Audit-ready - Complete history of all changes
For Security Teams
โ Actionable insights - Know exactly what needs attention\nโ Trend visibility - See if you're improving or declining\nโ Event correlation - Understand what affects your score\nโ Customizable - Match your organization's priorities
For Technical Teams
โ Event-driven architecture - Scalable and maintainable\nโ API-first design - Easy integration with other tools\nโ Formula engine - Flexible scoring logic\nโ Complete audit trail - Full traceability in audit logs
๐ฏ The Bottom Line
Traditional approach:
Manually review alerts โ Compile reports โ Present findings
โฑ๏ธ Time: Hours/Days | ๐ Accuracy: Subjective | ๐ Update frequency: WeeklyRisk Scoring System:
Events happen โ Scores update โ Dashboard shows status
โฑ๏ธ Time: Seconds | ๐ Accuracy: Calculated | ๐ Update frequency: Real-timeResult: Transform security posture from a quarterly report into a living, breathing metric that guides daily decisions.
๐ Want to Learn More?
- For Customer: See http://localhost:3000/dev/org-control/risk-configuration?tab=documentation
- For CX Teams: See https://docs.tik.one/doc/scoring-cx-team-guide-nwz1d9gC5v
- For Testers: See https://docs.tik.one/doc/scoring-test-cases-PrLchaPw0t
- For Developers: See https://lab.tik.co/uni/hunto/app/-/issues/1432
๐ฌ Ready to Get Started?
5-Minute Quick Start:
- Navigate to
/dev/org-control/risk-configuration - Click "Quick Setup Wizard"
- Select modules and adjust weights
- Save configuration
- Watch your scores initialize and start updating!
That's it. You're now monitoring security posture in real-time. ๐