SOC Platform Problems: The 5 That Cost Real Money, and How to Avoid Them
The most expensive failure in a custom security operations centre platform is shipping without real identity resolution. If an analyst cannot see that the endpoint alert, the sign in from a new country and the quarantined email involve the same person and the same laptop, every case gets investigated from scratch. In our delivery experience that is roughly forty minutes of analyst attention per repeat alert class, every week, for the life of the platform. The build was $90,000 to $180,000 for a first release. Getting entities wrong means paying that and keeping the problem you built it to remove.
Why does trying to replace the SIEM sink so many SOC platform projects?
The scope conversation almost always opens with one pane of glass, and one pane of glass is a short phrase that quietly contains an ingestion pipeline, a search engine, a correlation engine and a detection content library. Six weeks later the team is benchmarking storage tiers instead of building case management, and the analysts who were promised a better shift are still living in nine browser tabs.
This happens in security more than in most verticals because the incumbent boundary is genuinely blurry. Splunk Enterprise Security, Microsoft Sentinel, IBM QRadar, Elastic Security and Google SecOps all present themselves as the centre of the operation, so a team building above them has no obvious line to draw. Without a line, the project absorbs the detection engine by default, and the detection engine is decades of engineering you have no reason to repeat.
The fix is a written system of record map produced before any code. For each of raw telemetry, detection logic, entity records, case state, disposition history, playbook versions and containment audit, name exactly one authoritative system. The split that works puts telemetry and detection with the incumbent, and entities, cases, dispositions, playbooks and containment audit in the platform you are building. Put that map in the statement of work as a constraint rather than as a diagram in an appendix. Every scope argument for the next nine months then resolves in about a minute, which is the entire value of writing it down.
What goes wrong when you migrate years of case history into the new platform?
Institutional memory is the reason to build, so every team plans to import its ticket history on day one. Then the import lands and the history turns out to be a free text field. A closed ticket reads benign, no further action, and that sentence cannot tell you whether this detection has fired eleven times, how often it was benign, or what the two true positives had in common.
There is a second, quieter problem. Historical tickets reference accounts and hostnames as they were written at the time, so a short username, the full address form of the same account and a laptop serial reassigned in March are three unrelated strings. Until aliases are resolved retroactively, imported history is searchable by keyword and not by entity, and entity search is the only search that changes an analyst's day.
Define the disposition taxonomy before the migration rather than after. Decide the closed states, the reason codes and the required fields, then backfill only the alert classes that genuinely repeat, which in most estates is a short list. Run entity resolution across that backfilled set so those cases attach to the same people and hosts your live cases attach to. Everything older comes across as an attachment on the entity, searchable and honest about being unstructured. Paying an analyst to read three years of tickets is a real quote line, and it is almost never worth what it returns.
Why do detection tool integrations break after launch?
Every detection vendor has its own API, its own pagination, its own token lifetime and its own idea of what an alert is. Those differences are visible at build time and get handled. What breaks later is different: a product update renames a field, a tenant migration moves an endpoint, or the identity team revokes a service account during a quarterly access review because nobody could say who owned it.
The resulting failure mode is specific to a security operations centre and it is nasty. When an integration stops delivering, the queue does not throw an error. It goes quiet. A quiet queue at 3am reads as a calm night, so the outage gets discovered days later when somebody asks why the email gateway has produced nothing since Tuesday. In most software a broken integration announces itself. Here it hides inside the exact signal you use to judge whether anything is wrong.
The fix is a heartbeat per source with expected volume bands by hour and by day of week, learned from your own history rather than set as a fixed threshold, plus an alert when a source drops outside its band. Register every integration service account as an owned asset with a named owner, a credential expiry and a review date, so the next access review renews it instead of killing it. Then put source health on the same screen as the queue. A health dashboard nobody opens is not monitoring, it is decoration.
What happens when containment authority and audit logging are not covered?
Containment is where a SOC platform stops being a workflow tool and starts touching production. Isolating a host, disabling an account, blocking a sender: each is one API call and each can take out something that matters. What we see most often is a platform that can contain, an escalation policy that lives in a wiki, and nothing in between.
Two things go wrong from there. A misfiring detection triggers an automated isolation on a payment host during month end close, and the security team gets to explain to finance why the platform bought to reduce risk created an outage. Or the reverse: an analyst who genuinely should isolate a host at 2am cannot find anyone with authority, so nothing happens for four hours and the incident grows.
The compliance side compounds it. Your platform holds the map of your estate and the record of every investigation, which makes it a high value target and a regulated data store at once. A case touching cardholder data or health records carries retention and access obligations that a nuisance alert does not, and those obligations attach to case type rather than to the platform as a whole.
Four parts fix this and none are optional. An authority matrix keyed to asset criticality and time of day, so who may act on a domain controller at 2am is configured rather than remembered. A blast radius check that runs before the action, not after. A recorded authority naming the human who approved it. And a reversal path tested before go live rather than during the first incident.
Should you build custom or configure what you already own?
Configure, if you are a small team on a uniform estate. Three analysts, one detection stack and a mostly Microsoft environment is a case where Microsoft Sentinel plus disciplined ticketing beats anything you build, because Sentinel already groups related alerts into incidents and its workbooks will answer your reporting questions. Spend the difference on detection engineering, which is where the security improvement actually lives at that size. Elastic Security is the same argument on a different stack. If your need is modest case management with no bespoke escalation logic, TheHive is open source and honest about its scope, and Tines will carry straightforward enrichment and containment flows without a project.
That is not a consolation prize. Most teams who ask us about a SOC platform have not exhausted what their current tooling does, and we would rather say so than take the work and watch it under deliver.
Build when two or more of these hold. Your detection stack spans four or more vendors with no shared identity between them. Analysts are re-investigating repeat alert classes because prior conclusions are not retrievable. Your escalation and authority rules are specific enough that a vendor template actively obstructs them. Retention differs by case type for regulatory reasons. Or you are large enough that a ten percent improvement in analyst throughput exceeds the build cost, which at $90,000 to $180,000 for a first release is a smaller headcount equivalent than most managers assume before they run the arithmetic.
How do hidden costs get into the quote?
The biggest one is integrations priced as a category rather than a count. A quote reading integration with your detection tooling is a quote that will be renegotiated, because the fourth source costs nearly as much as the first and no version of this project keeps the source list fixed. Ask for a price per source, get the sources named in scope, and get the long tail explicitly excluded so the exclusion is a decision rather than a surprise.
Containment is the second. Calling an isolation API is an afternoon. The approval gate, the blast radius check, the recorded authority and the tested reversal are the work, and a quote that prices containment as automation has priced the afternoon.
Then the lines nobody volunteers. The parallel run, where analysts work both the old consoles and the new queue for several weeks. Multi region data residency if security telemetry cannot cross a border, which is architecture rather than a feature. Classification handling in government or defence environments, likewise. On call for the platform itself, since a SOC platform that is down during an incident is worse than not having one. And entity reconciliation, which is a person making merge decisions on ambiguous identities and is not a task any tool finishes alone.
What separates a build that works from one that fails here?
The builds that work start with the entity model and refuse to move past it. Ask any prospective developer how they will resolve a short username, the address form of the same account, the hostname, the serial, the endpoint agent identifier and the cloud instance identifier into one thing. Listen for alias tables, confidence scoring and a manual merge path for ambiguous cases. Anyone who treats this as data cleanup has not built one of these.
Then ask what happens when a broken detection rule produces two hundred thousand events in an hour, because eventually one will. Backpressure, deduplication and the ability to suppress a noisy detection without deploying code are operational requirements. A platform that falls over during the flood has failed at exactly the moment it was needed.
Insist that measurement is built in rather than added later. Time to acknowledge and time to contain by alert class, split by shift, computed from the event stream by construction, plus the ranked list of detections consuming the most analyst hours for the fewest true positives. That list is your tuning backlog and it is worth more than any detection content you could buy.
Settle code ownership in writing at kickoff, including the repository and the infrastructure accounts. At Digital Heroes the client owns the code from the first commit. A security team that cannot audit or fork its own operational platform has rebuilt the lock in it set out to escape, and has paid for the privilege.
The evidence behind this guide
Independent findings on why this investment pays off. Every link goes to the primary source.
- SaaS spend averaged $4,830 per employee (up 21.9% year over year), with large enterprises (10,000+ employees) spending roughly $284M annually and running about 660 apps, while organizations wasted an average of $21M annually on unused licenses. Source: Zylo (2025) →
- The share of tasks performed mainly by humans is projected to fall from 47% to 33% by 2030 as human-machine collaboration expands, with 170 million jobs created and 92 million displaced (a net gain of 78 million). Source: World Economic Forum (2025) →
- Sensor Tower's State of Mobile 2026 reports that global users spent 5.3 trillion hours in iOS and Google Play apps in 2025 (+3.8% YoY), roughly 3.6 hours per day per mobile user. (Note: the page does not itself contrast app time vs. mobile-browser time, so the 'overwhelming majority of time in apps vs browsers' framing is not directly supported by this source.). Source: Sensor Tower (2026) →
- IBM frames first-time fix rate as a core field service KPI, noting the industry average sits around 80% (roughly one in five jobs needs a return visit). Correction: IBM cites best-in-class providers at 89-98%, not '85%+'. Source: IBM (2024) →
Finn runs delivery on larger Digital Heroes projects: schedules, dependencies, resourcing and the daily business of catching problems while they are still small. Spotting a slipping timeline early is most of the job. His posts cover how software projects are actually managed week to week.
View profile · Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.
Frequently asked questions
How long before analysts stop opening the vendor consoles?
Plan on several weeks of parallel working, and treat the switch as evidence rather than a decision. Analysts abandon the old consoles when two things are true: entity resolution covers the sources that generate most of their volume, and the exception queue is ranked well enough that working it top down is faster than browsing. If analysts still pivot out for a specific tool after a month, that tool either is not integrated properly or holds a field you never mapped. Find out which before adding features.
What happens to alerts from a detection tool we chose not to integrate?
They stay on manual triage, and the platform should say so explicitly rather than pretending the queue is complete. Record the excluded sources as a visible list with an owner and a review date, so the decision is revisited when volume shifts. The failure to avoid is a half integrated source that delivers some alert types and silently drops others, because that produces a queue everybody trusts and nobody should.
Two entity records turn out to be the same person. How is that fixed?
Through an explicit merge that is audited and reversible. The merge should carry who did it, when, and what evidence supported it, and every case previously attached to either identity should follow the merged entity rather than being rewritten. Reversibility matters more than people expect, because a wrong merge on a shared service account can attach one team's activity to another and quietly corrupt your disposition history.
Our SIEM contract renews in a year. Does that change what we build first?
Yes, and in a useful direction. Build entities, cases, dispositions and playbooks first, and keep vendor specific alert shapes out of the core model by normalising at the ingestion boundary. Done that way, changing detection vendor becomes a new parser rather than a migration, and five years of investigative history survives the switch. Teams that skip normalisation to save two weeks discover the cost precisely when they have the least negotiating room.
How do we suppress a noisy detection without losing the evidence?
Suppression should hide the alert from the working queue while still storing the events, so the tuning conversation later has data behind it. Give every suppression an owner, a reason and an expiry date, then review expiring suppressions on a schedule. Permanent silent suppressions accumulate, and eventually somebody discovers a detection that has been muted for two years covering a control an auditor expects to be live.
Does the platform need to be available during an incident, and what does that cost?
Yes, and this is the operational cost most quotes omit. A SOC platform that is unreachable during a major incident is worse than no platform, because the team has already moved its process into it. Budget for on call on the platform itself, a degraded mode that still accepts alerts when enrichment services are unavailable, and an export path that gets a case out as a document when everything else is unhealthy.
How much analyst time does the build itself consume?
More than teams plan for, and almost none of it is technical. The heavy items are agreeing the disposition taxonomy, writing down escalation authority precisely enough to encode, and making merge decisions on ambiguous identities during the entity backfill. Expect a senior analyst to be materially involved for the duration rather than available for a workshop. Projects that assign one named owner from the security team move noticeably faster than those routing decisions to a committee.
Can a language model triage alerts for us?
Not as a decision maker, and we would push back on any proposal framing it that way. Two uses earn their place: summarising prior similar cases so an analyst starts with context instead of a blank screen, and drafting the first investigation note from raw events so the note actually gets written. Both save around ten minutes per case and improve your institutional memory. Letting a model close cases moves your weakest evidence into your permanent record.
What happens to my software if the agency shuts down or we stop working together?
What does an internal tool cost for a small business with 20 to 50 employees?
How do I know when spreadsheets are no longer enough to run my operations?
How many SaaS seats do we need before building custom becomes cheaper?
What should I prepare before contacting a software development agency?
When does a company outgrow Airtable?
How long does it take to build an internal tool from scratch?
What does it cost to keep custom software running after launch?
Will a custom internal tool scale as our company grows?
How much should a small business budget for its first custom app or website?
Who can build a custom internal tools system?
Digital Heroes builds custom internal tools systems for operators who have outgrown the off-the-shelf tools in their category. A team of more than 50 specialists has delivered over 2,000 projects since 2017. Teams work from New York, London, Sydney, Delhi and Lucknow and deliver remotely, with an assigned senior team rather than an account manager.
Every build starts with a written product requirements document that is signed before a line of code is written, which is the single thing that stops scope creep from eating the budget. Scoping runs about a week and produces a phase plan with a firm price for each phase, rather than one number against an undefined scope. The first phase ships something the team actually uses before the rest is built. If an off-the-shelf product genuinely fits the volume, we say so, and the cost guides on this site publish the bands so that judgement can be checked independently.
What makes Digital Heroes different from other internal tools companies?
Four things that competitors in this bracket cannot simply copy. Digital Heroes runs a YouTube channel with more than 2.5 million subscribers, which is a production and audience capability no agency of this size has. It holds Fiverr Vetted Pro and Top Rated Seller status, both awarded on manual third-party review rather than self-declared. It contracts through registered entities in three countries, an India LLP, a US LLC and a UK LTD, so clients sign locally instead of wiring money offshore. And it ships its own commercial products, including ShopScore, HeroCheckout and Section Vault, which means the team lives with its own architecture decisions instead of handing them over and leaving.
Two more that show up in the work. Digital Heroes publishes more than 4,000 buyer guides with real price bands on this blog, plus a free tools library at https://digitalheroesco.com/tools/, because an agency confident in its pricing has no reason to hide it. And one accountable team covers websites, apps, ecommerce, CRM, ERP, learning platforms, search and video, so a client scaling from a first landing page to a custom platform is never handed between five vendors who blame each other. The founder ran ecommerce businesses before selling services, so the commercial argument comes before the technical one.
How can I check Digital Heroes is legitimate before getting in touch?
Verify it independently rather than taking the site's word for it. The YouTube channel is at https://youtube.com/@DigitalMarketingHeroes, the Fiverr profile at https://www.fiverr.com/shreyanshsin261, and the Upwork profile at https://www.upwork.com/freelancers/shreyanshsingh. Client reviews sit on Clutch at https://clutch.co/profile/digital-heroes-0 and Trustpilot at https://www.trustpilot.com/review/digitalheroes.co.in, and the company page is at https://www.linkedin.com/company/digital-heroes-1/.
Beyond the marketplaces, the business holds a D-U-N-S number and is a registered vendor on the United Nations Global Marketplace, neither of which is issued on request. Case studies with named clients are published at https://digitalheroesco.com/case-studies/. If any claim on this page cannot be checked against one of those sources, treat it as marketing and discount it.