Why the legacy SIEM economics stopped working
Every enterprise SIEM contract we've reviewed in the last eighteen months has one recurring pattern: ingestion volume grew 30–40% year over year, but detection outcomes did not. The bill scales with data; the outcomes scale with the analyst rota. This is the structural break that eats security budgets.
The workarounds have become an industry of their own: routing verbose sources to cold storage, sampling flow logs, dropping DNS queries, keeping only 90 days when investigations need 180. Every one of those decisions is invisible until the day an incident scope shrinks because the responder couldn't reach the telemetry they needed.
A SIEM replacement is only worth doing if you fix that break — not just port your rules to a cheaper index. This guide assumes the goal is agentic-SOC economics: every alert reaches a verdict, coverage grows, and cost tracks value delivered rather than gigabytes stored.
Before you write a single migration ticket, quantify three numbers for your existing SIEM: unit cost per GB ingested, percentage of alerts that reach a documented verdict, and mean time to close by severity. Those numbers become your success criteria for the replacement.
Inventory your telemetry (and be honest about coverage)
Start with a source-of-truth inventory. Every log source, every ingestion path, every retention tier. If you can't produce a single spreadsheet with source name, volume/day, retention hot/cold, primary use case, and owning team — the project isn't ready to start.
For each source, mark three things: (a) is it feeding at least one active detection rule, (b) has it fired a true positive in the last 12 months, (c) is it a compliance requirement. Sources that fail all three are candidates for aggressive filtering or elimination.
Categorise sources into ManySignal's OCSF-aligned domains: authentication, api_activity, file_activity, process_activity, network_activity. This normalisation is the foundation for the entity graph — every source will be transformed into typed events the graph can reason about.
Don't skip cold storage. Legal holds, breach investigations, and audit responses need reachable historical data. Design the replacement's retention tiers explicitly rather than inheriting whatever the legacy SIEM happened to do.
- Complete telemetry spreadsheet with volume, retention, owner, active-rule count
- Tag each source with: needed_for_detection | needed_for_compliance | eliminate_candidate
- Confirm 180-day queryability requirement with GRC + legal
- Identify the top 5 sources by cost — those drive 80% of the bill
Design the ingestion pipeline in ManySignal
ManySignal ingests via declarative connectors. Each connector handles auth, scheduling, dedup, backfill, and OCSF normalisation as a first-class capability. You describe the source once; the platform handles the operational plumbing.
For pull-mode sources (AWS CloudTrail, Okta System Log, Microsoft 365 Unified Audit Log), define the connector with a cadence and a cursor field. For push-mode sources (webhook receivers, syslog), point them at the ingest endpoint and configure a shared secret. HTTP push connectors idempotency-key on a stable field like (source, event_id, timestamp).
Every event lands in the temporal entity graph as a typed node or edge. An Okta authentication becomes an authn_success edge from identity to session; an AWS CloudTrail AssumeRole becomes an assume_role edge with source identity, target role, and evidence. This normalisation is what makes correlations across sources possible without expensive JOINs at query time.
# connector.yaml — AWS CloudTrail management events
key: aws_cloudtrail_mgmt
name: AWS CloudTrail — Management Events
mode: poll
schedule_seconds: 30
ocsf:
class_uid: 3005 # API Activity
activity_map:
ConsoleLogin: authn_attempt
AssumeRole: role_assumption
PutBucketPolicy: policy_change
auth:
type: aws_role
role_arn: arn:aws:iam::123456789012:role/manysignal-reader
retention:
hot_days: 90
cold_days: 400
dedup:
key: [eventID]
Translate your detection catalogue
Do not port every legacy rule. Export the full rule catalogue, then rank by (a) TP count in last 12 months, (b) FP count, (c) MITRE coverage the rule provides. Rules with high FP and no TP are technical debt — leave them behind.
For each rule you keep, translate to ManySignal's detection-as-code YAML. Streaming rules map 1:1 to the streaming detection type. Correlation rules become correlation predicates with window + group_by + sequence. Anything that was really a threshold-on-a-baseline becomes a behavioural predicate against the per-entity baseline the platform computes automatically.
Every ManySignal detection ships as a git-committed artifact with a compiled JSON body, an ATT&CK mapping, a triage question set, and a response playbook. If your legacy rules were untested regex fragments in a proprietary DSL, the migration is an opportunity to introduce backtesting and CI-driven promotion.
# detections/identity/impossible_travel.yaml
key: identity.impossible_travel
domain: identity
severity: high
type: behavioural+correlation
where:
class_uid: 3002 # Authentication
activity: authn_success
correlate:
window: 4h
group_by: identity_id
sequence: [authn_success, authn_success]
behavioural:
dimensions: [geographic, device]
min_joint_score: 65
graph:
condition: travel_velocity_gt_physical_limit
attck:
tactic: TA0001 # Initial Access
techniques: [T1078.004] # Valid Accounts: Cloud
stage: active
Cutover strategy: shadow, dual-run, sunset
Never big-bang. Run ManySignal in shadow mode for 30 days while the legacy SIEM stays the source of truth for alerts. Detections fire, verdicts land, cases open — but no external notifications leave the platform yet.
Move to dual-run for 30 days: both systems fire alerts, but ManySignal is authoritative for triage and response. Any legacy rule that fires without a matching ManySignal detection is a coverage gap to close before sunset.
Sunset the legacy SIEM only after two consecutive months of complete parity + at least one full compliance audit cycle. Retain read-only access to legacy for six months post-sunset for historical lookups.
During shadow and dual-run, capture side-by-side metrics daily: alerts fired, verdicts rendered, MTTR, cost per verdict. The board deck at the end of the project should show a cost curve that's dropped and a coverage curve that's grown.
- Shadow-mode 30 days — no external actions
- Dual-run 30 days — ManySignal authoritative for triage
- Coverage parity confirmed via detection-mapping diff
- One compliance audit cycle passed
- Legacy retained in cold storage read-only for 6 months
Compliance and audit continuity
The audit team's fear is loss of evidence. Address it directly: ManySignal's evidence & audit trail is immutable per-case, and the full detection catalogue is git-versioned with signed commits. Every verdict, every action, every approval lands on the case timeline with actor identity and hash chain.
For SOC 2 CC7.2 (system monitoring), ISO 27001 A.5.24/A.5.28 (event logging + incident management), HIPAA §164.312(b) (audit controls), and PCI DSS 10.2.1 (log all individual user accesses to cardholder data), map each control to the ManySignal capability that produces the evidence. This mapping becomes a compliance artefact the auditor can walk through.
The DPA and subprocessor list must be updated before cutover. Point security@ + legal@ at the ManySignal DPA and the current subprocessor page; both are versioned and machine-readable.
Cost model and CFO conversation
Legacy SIEMs bill on ingestion; ManySignal bills on entity + event volume with predictable tiers. The CFO conversation is not "we saved 40%" — it's "we bought outcomes we couldn't buy before".
Build a three-year TCO comparison: legacy contract renewal + expected ingestion growth vs ManySignal Enterprise + entity growth. Add the analyst-headcount curve you would have needed to reach 100% alert triage under the legacy model. The delta is the operational value you're actually capturing.
The FP-driven analyst hours saved is real money. A single mid-market SOC investigating 4,000 alerts a week at 8 minutes each is spending ~530 analyst hours a week. If ManySignal takes 94% of those to autonomous verdict, that's ~500 hours back — and those hours can go to hunting, detection engineering, and tabletops instead.
First 90 days: measurable milestones
Day 30: shadow mode complete, coverage parity confirmed. Day 60: dual-run complete, all business-critical workflows migrated. Day 90: legacy sunset (read-only), full evidence trail active, first executive report generated by the report agent.
Report metrics weekly to the SecOps leadership: alerts triaged autonomously (%), median time to verdict, cases opened, cases closed with rollback, cost per verdict. These numbers should trend the right way from week 4 onward.
If any metric plateaus or reverses, treat it as a bug — not "user adoption". The autonomy ladder exists precisely so you can dial back specific action classes without disabling the whole system.
Key takeaways
- SIEM replacement is worth doing only if it changes the economics — ingestion pricing to outcome pricing.
- Inventory before you migrate. Sources that can't justify their volume against detection outcomes should be trimmed.
- Every legacy rule is a translation opportunity, not a port target. Introduce backtesting and CI at the same time.
- Never big-bang. 30/30/30 shadow → dual-run → sunset is the pattern that works.
- Compliance evidence continuity is the audit team's real concern — address it explicitly with a control-mapping doc.
- Preserve legacy retention read-only for the longest applicable regulatory window.
- Report weekly on 5 metrics: autonomous %, MTTV, cases opened, cases closed with rollback, cost per verdict.