Reference / Case Study

Rust IoT Gateway Hardening Case Study: From Plaintext Ingest to Verified TLS

Author: Published: Engagement type: Audit -> Sprint -> Retainer Case Study

How a before-hardening audit exposed four gateway and ingest findings, a focused sprint fixed them, and the after-hardening check created a clear reference point for ongoing review.

Why this reference matters

Real evidence, not abstract claims

These references show the kind of architecture, delivery pressure, and proof Combotto works with in practice.

Findings should lead somewhere

A strong audit produces a concrete backlog, not a vague list of concerns that dies after the meeting.

Implementation follows the evidence

The Sprint is where the highest-value fixes get done and verified before posture drifts again.

Audit -> Sprint -> Retainer Case Study rust iot gateway tls delta reports
How a before-hardening audit exposed four gateway and ingest findings, a focused sprint fixed them, and the after-hardening check created a clear reference point for ongoing review.

Why this case matters

This is the clearest way to understand what Combotto sells.

The system in scope was a Rust-based IoT gateway running on Raspberry Pi. The commercial question was not “can you review the whole platform?” It was narrower and more useful:

Can one gateway path be audited fast enough to expose the real transport, auth, and guardrail gaps, then checked again after hardening so leadership and engineering can see whether posture actually changed?

That is exactly what happened here: first the path was reviewed before hardening, then it was checked again after the changes were in place.

Before hardening

Audit

The review came back red, with four findings across ingest auth, insecure transport, and gateway guardrails.

After hardening

Sprint verification

The follow-up check came back green, with zero findings and a hardened state on the same path.

Ongoing review

Retainer review

The delta report shows what improved, confirms there were no regressions, and gives future releases a clear reference point.

The audit exposed concrete risk, not vague concern

The before-hardening audit produced a decision-ready picture in one pass. The report came back with:

  • 4 total findings
  • 3 high-severity findings
  • 1 medium-severity finding
  • a red posture across Identity & Cryptography, Access Control, and Data Protection

The four findings were specific:

  • gateway_config_guardrails.auth_enforcement_disabled
  • gateway_config_guardrails.unsafe_defaults_not_observable
  • ingest_auth.unauthenticated_ingest_allowed
  • ingest_auth.insecure_transport

This matters commercially because it turned a gateway hardening discussion into a scoped backlog with owners, verification logic, and a clear reason to run a focused sprint.

Executive summary from the gateway audit before hardening.
The before-hardening audit gave leadership a red posture call, four findings, and a sprint recommendation without needing a second discovery phase.
Baseline remediation plan showing backlog items from the Raspberry Pi gateway audit.
The audit ended with ticket-ready remediation rows, not a generic advisory narrative. That is what makes the sprint commercially clean.

What the hardening sprint actually changed

The sprint was not framed as “improve security in general.” It was framed around the exact failure modes the audit exposed.

Before the sprintAfter the sprint
Ingest still accepted insecure transport.The ingest path moved to verified HTTPS and the after-hardening check targeted https://192.168.1.91:8443.
Unauthenticated ingest could still reach the boundary.The ingest path rejected unauthenticated requests and enforced bearer-token auth.
Gateway guardrails still failed on auth enforcement and unsafe defaults.Gateway configuration guardrails satisfied the same checks in the after-hardening review.
A later review would have no clean reference point.The hardened result became the reference point for future reviews.

The runtime verification matters as much as the configuration change:

  • unauthenticated POST /v1/ingest returned 401
  • authenticated POST /v1/ingest returned 202
  • the gateway stayed healthy after the hardening work

That is the difference between “we think it is fixed” and “the same path behaved differently after hardening.”

The after-hardening check proved the fixes held on the same slice

The after-hardening check did not widen scope. It rechecked the same gateway-centered path after the sprint work.

The result:

  • audit status PASS
  • overall posture Green
  • overall risk score 0
  • 0 findings
  • 0 backlog items required
Executive summary from the gateway review after hardening.
The after-hardening review flipped the posture to green and removed the audit backlog entirely, which made the sprint outcome inspectable to both leadership and engineering.

This is where the Combotto offer becomes easier to buy:

  • the Audit made the risk easy to understand
  • the Sprint fixed the highest-impact issues first
  • the after-hardening check created evidence strong enough to support a lighter Retainer cadence instead of a fresh investigation

Delta reports are what turn a one-off hardening win into a retainer surface

The flagship proof is not just the green follow-up review. It is the ability to compare the before and after state without changing the story shape.

That is what the delta report provides:

  • it shows which controls improved
  • it confirms there were no regressions
  • it gives the next release or monthly review a hardened reference point to compare against
Delta report comparing the gateway state before and after hardening.
The delta report is the retainer bridge: four improved controls, zero regressions, and a durable reference point for future release reviews.

Why this is useful to buyers

Buyers usually do not need a generic promise that an IoT consultant can help. They need to know what happens after they expose one risky path.

This case study shows that the output is:

  • a leadership-readable posture call
  • evidence-backed findings tied to the live path
  • a sprint-ready backlog
  • an after-hardening check that proves the change
  • an ongoing-review reference point that supports future release or monthly review

That is the full Audit -> Sprint -> Retainer path in practice.

Best-fit situations for a similar engagement

This kind of audit-first hardening work is a strong fit when:

  • a customer or procurement review is closing in
  • the gateway, broker, or ingest path is moving from prototype assumptions into production pressure
  • the team needs proof on auth, TLS, or reliability posture without auditing the whole estate first
  • leadership needs a decision-ready picture before approving a broader hardening spend

Next step

If your gateway path is under similar pressure, scope the smallest useful slice first.

Send the asset or path under review, what is creating urgency, and the decision window. Combotto will reply with a fit check, suggested audit scope, and whether the likely next move is an audit only, a focused sprint, or a retainer-ready validation cadence.

How engagements usually move

References should make the Audit to Sprint path easier to understand.

1. Audit the system under pressure

Baseline the selected assets, message paths, and operational risks with evidence leadership can act on.

2. Run a focused Sprint on the highest-impact findings

Fix the security, reliability, or telemetry gaps that are most likely to create downtime, review friction, or expensive rework.

3. Keep posture from drifting

Use a light retainer rhythm when the architecture is changing or customer pressure keeps moving.

Need this kind of evidence for your own IoT system?

Send the system slice you want reviewed and what is creating urgency. I’ll reply with a focused recommendation on audit scope, expected outputs, and whether a Sprint should follow.

Fastest direct route: +45 22 39 34 91 or tb@combotto.io.

Best format: 1. system slice, 2. what is creating pressure now, 3. what decision you need to make, 4. when you need that decision.

Typical response: same business day.