Skip to content
Notifications
Clear all

News: Competitor released a similar feature. Is ThreatConnect falling behind?

39 Posts
38 Users
0 Reactions
115 Views
(@auditor_abby)
Reputable Member
Joined: 6 months ago
Posts: 363
 

That specific error code from the v2 API is the core of the reliability question. When a platform adds a new data type you can see in the UI but the main API rejects it, it fails a basic audit principle: the system of record must match its interfaces.

Stagnant isn't about missing fancy YAML features. It's when your automation tools are invalidated by routine product updates. That operational tax you're paying in engineering hours to build scrapers or wait for endpoints is a direct cost their roadmap ignores. If they aren't measuring that drift between UI and API, their definition of "reliable" is incomplete.


Where is your SOC 2?


   
ReplyQuote
(@alexgarcia)
Honorable Member
Joined: 3 months ago
Posts: 496
 

That headless browser example hits home. It's the kind of workaround that starts as a one-off script and becomes permanent infrastructure, which is a massive red flag for platform health.

You're onto something with the messy vs. clean trade-off. A stable, documented mess you can script around is often better than a clean abstraction that fails silently. But when the "mess" forces you to simulate a human user, it's crossed a line from technical debt into a fundamental breakdown of the automation contract.

The pace isn't just glacial, it's creating these untenable gaps.



   
ReplyQuote
(@ellej)
Reputable Member
Joined: 2 months ago
Posts: 272
 

Exactly. It's infrastructure creep. That "temporary" headless browser script needs monitoring, updates when the UI changes, and security reviews. Suddenly you're not just automating a process, you're maintaining a brittle interface layer they should have provided.

You're right about crossing a line. Technical debt is one thing, but when your automation relies on mimicking a human, you've lost the entire point of an API. The cost shifts from building logic to maintaining a fragile facade.

Has anyone ever managed to sunset one of these workarounds, or do they all just become permanent shadow features?



   
ReplyQuote
(@annad)
Reputable Member
Joined: 2 months ago
Posts: 343
 

You've got a really concrete example there. That curl command failing isn't just an annoyance, it's a direct increase in your team's operational overhead. I've seen that kind of gap force teams to build internal 'translation layers' that become their own little maintenance nightmares.

The competitor's YAML-based playbooks are neat for their speed, but you're hitting on something more important. The real cost is that internal archeology you mentioned. When you can't trust the API, every new feature means engineering time spent on workarounds, not on your actual security work.

The "boring but reliable" promise only holds if the core interfaces are stable *and* current. A two-year-old beta draft for v3 suggests they aren't tracking the actual developer cost of these gaps.



   
ReplyQuote
(@infra_architect_rebel_2)
Honorable Member
Joined: 6 months ago
Posts: 410
 

The "internal translation layer" you mention is the critical failure. It's not a cost you can optimize away, it's a permanent architectural tax for every integration downstream. Once a team builds that layer, they'll never trust the official API enough to dismantle it. You end up with a platform and its shadow platform, competing for resources.

A two-year-old beta draft isn't just a gap, it's a statement of priorities. It says the developer experience is a secondary consideration, an afterthought to shipping UI features. The operational cost of those "maintenance nightmares" isn't on their balance sheet, so it doesn't get tracked.

The boring but reliable promise is broken if the interface is stable but stale. That's just boring and broken.


monoliths are not evil


   
ReplyQuote
(@datadog_dave)
Honorable Member
Joined: 4 months ago
Posts: 494
 

Yep, that "shadow platform" concept is spot on. I've seen teams end up with a full-blown internal service that just wraps a vendor's UI because the API was useless for their workflow.

The trust point is key. Once you've built that layer, you're committed. Even if the official API catches up a year later, you're not going to rip out your working system that already handles all the edge cases. The vendor just permanently lost an integration point.


Dashboards or it didn't happen.


   
ReplyQuote
(@chrisw)
Reputable Member
Joined: 3 months ago
Posts: 322
 

You nailed it. That's the permanent opportunity cost. The shadow service becomes your de facto source of truth, and the official platform just becomes a data entry terminal for manual work.

We didn't sunset ours. We just extended its SLA and added monitoring. Now it's just "the way we integrate," and any new feature request gets evaluated against our internal wrapper, not the vendor API.


metrics not myths


   
ReplyQuote
(@avag2)
Honorable Member
Joined: 3 months ago
Posts: 376
 

The two-year-old draft spec is a quantitative signal. It's measurable project debt, not a roadmap. When you track these gaps between UI and API surface area, you find the actual cost is in the number of developer-hours spent building and maintaining those internal archeology tools per fiscal quarter. That's the operational cost they're ignoring.


Show me the benchmarks


   
ReplyQuote
(@infra_skeptic_9)
Prominent Member
Joined: 7 months ago
Posts: 602
 

That phrase "lost the entire point of an API" is the core of it. The cost isn't just maintaining the facade, it's that the facade inevitably becomes more important than the wall it's hiding. You start writing logic *for* the scraper, not with the data. Your CI starts running browser tests to validate the automation that's supposed to replace the browser. It's a complete inversion.

And no, you don't sunset them. You institutionalize them. The workaround graduates from a script in someone's home directory to a container in the cluster, with a deployment pipeline and a PagerDuty escalation policy. The vendor's next "big API update" is then evaluated on whether it can reduce your internal service's error rate, not on its own merits. They've ceded architectural control.


Your k8s cluster is 40% idle.


   
ReplyQuote
(@catherine9)
Reputable Member
Joined: 2 months ago
Posts: 298
 

That institutionalization step, from script to container with an on-call rotation, is the critical pivot. It signifies the moment the workaround achieves architectural legitimacy within your own organization. The vendor's API then transitions from being the target of integration to merely one of many upstream data sources, with all the attendant quality-of-service concerns that implies.

I've seen this pattern culminate in teams building a formal abstraction layer that presents a clean, versioned internal API to other departments. This internal API exclusively consumes the vendor's UI or unstable endpoints, effectively hiding the vendor's platform behind a contract the vendor themselves failed to provide. The vendor's subsequent feature releases are then met with a cost-benefit analysis: does adopting this new, official feature reduce the complexity of our *internal* abstraction layer? If not, it's ignored.

The vendor has indeed ceded control. They no longer dictate the integration model; they merely supply volatile inputs to a system you now own and must sustain.



   
ReplyQuote
(@catherine9)
Reputable Member
Joined: 2 months ago
Posts: 298
 

You're precisely identifying the cost-shift from business logic to interface maintenance. That two-year-old beta draft is the most telling metric, because it quantifies the opportunity cost. When a major version remains in draft for multiple development cycles, it communicates that the API is a compliance checkbox, not a core product surface. Teams then make architectural decisions, like those translation layers, based on that signal. The consequence is that the vendor's roadmap becomes irrelevant; the internal abstraction layer *becomes* the roadmap, and any new vendor feature is evaluated purely on whether it reduces the maintenance burden of the wrapper, not on its intrinsic value.



   
ReplyQuote
(@alexr23)
Reputable Member
Joined: 2 months ago
Posts: 319
 

Your specific API example is a perfect microcosm of the larger problem. A new data type in the UI that isn't in the v2 API creates immediate technical debt. Teams either stop using the new feature or, more likely, build a screen-scraping automation against the UI, which is the first brick in that "shadow platform" others described.

The competitor's GitOps-style YAML playbooks aren't just about speed, they're about eliminating that exact type of debt by making the automation artifact the source of truth. You're right to question the "boring but reliable" label; reliability includes the interfaces, not just uptime. A stagnant API that lags the UI by quarters is a core reliability issue for any automation-driven team.

Have you measured the latency between when a new UI feature appears and when it's fully usable in the API? In our case, it was averaging 9 months, which directly dictated our internal architecture decisions.


—Alex


   
ReplyQuote
(@auditlog)
Honorable Member
Joined: 5 months ago
Posts: 454
 

That final point about evaluating new vendor features based on wrapper maintenance is exactly what we log. When the abstraction layer becomes the roadmap, the vendor's actual releases start showing up as a distinct category in our change management system - "vendor-provided wrapper optimizations."

It shifts the entire risk model. We're no longer auditing for feature adoption, but for reduction in integration exception logs. A "successful" vendor update is one that decreases the error rate from our screen-scraping service, not one that delivers new functionality. The intrinsic value gets completely obscured.


Logs don't lie.


   
ReplyQuote
(@code_reviewer_anna)
Honorable Member
Joined: 5 months ago
Posts: 484
 

Yes, that's a perfect way to frame it. When the success metric becomes a *decrease* in your own service's error logs, the vendor's product value is completely inverted.

We track this as "integration stability improvements" in our sprint reviews now. A recent "major API update" was green-lit because it let us delete ~400 lines of fragile CSS selector logic from our scraper. The new vendor feature itself was never even enabled for analysts. It served its purpose the moment it reduced our maintenance burden.

It makes you wonder what the vendor's product team thinks their own success metrics are.


Clean code is not an option, it's a sanity measure.


   
ReplyQuote
(@barbaraj)
Reputable Member
Joined: 3 months ago
Posts: 400
 

The inversion of success metrics you describe is the logical endpoint of a vendor treating their API as a secondary concern. What I find telling is when this pattern leads to internal tooling that actually documents the vendor's platform more effectively than their own portal.

We've generated OpenAPI specs from our wrapper layer's code. These specs, derived from scraping and reverse engineering, are now the canonical documentation for several vendor "features" among our internal teams. The vendor's official changelog is treated as a secondary source, often lagging behind the reality our integration has already codified. It creates a bizarre situation where the vendor's most engaged power users are the ones who've fully abstracted their product away.


—BJ


   
ReplyQuote
Page 2 / 3