qf eBPF host firewall
central eBPF host firewall

Central eBPF host firewall. No Kubernetes, no etcd, no hand-rolled iptables

One policy in a control plane, compiled to BPF maps and pushed as signed bundles over mTLS — instead of iptables rules drifting across hundreds of hosts.

Fintech with a distributed Linux fleetWeb/DevOps platform on rented servers Pilot deployments — described by role, not named.
1 → 5000
one control plane per agent fleet
≥ 5.15
minimum Linux kernel
5–15 s
policy roll-out to 500 hosts
status quo

Every host is its own source of truth you can’t verify

Hand-rolled iptables across a fleet is neither verifiable nor provable: rules drift, there is no dry-run, and only whoever edited a host knows what changed.

“iptables does not scale well. Period.” · “easy to cut yourself off from the remote machine” · “change iptables on 500 machines from one central browser”
— practitioners, public discussions — verbatim demand for exactly what qf does
See the architecture →
how it works

The policy is the source of truth, not the host

Central control, distributed enforcement: the control plane holds the policy, per-host eBPF enforces it.

  1. 01

    Policy as code

    Rules are declared with label selectors in the control plane — once, with review, not by hand per host.

  2. 02

    Compiled to BPF

    The CP finds affected hosts by cascade and compiles the policy to BPF maps. Dry-run before apply.

  3. 03

    Signed bundles

    Each bundle is Ed25519-signed and pushed over mTLS gRPC. Agents apply only a valid signature.

  4. 04

    Enforced on eBPF/TC

    The agent writes rules into the TC-hook datapath. No iptables chains, no conflicts.

Fail-open by default is a reliability choice

A forgotten rule should not take down your production. The default passes traffic; the move to default-deny is staged and observable, not big-bang out of the box.

See the architecture →
what you get

Three things hand-rolled iptables can’t give you

01 · audit

Centralized, with before/after logging

Every access change is recorded before and after. One console for the whole fleet instead of N scattered rule sets.

02 · eBPF

eBPF-inline on TC — no Kubernetes, no etcd

An autonomous control plane that needs no cluster. “Simpler than Cilium” where the fleet isn’t Kubernetes.

03 · sovereignty

Air-gapped, runs without the cloud

Installs from local artifacts, never phones home. Fit for closed networks.

Preview impact — a dry run before apply

Shows which hosts and rules will be added and removed, and what observed traffic it touches — before the policy ships. Against endless manual tweaking and blind blast radius.

security / CISO layer

Provable segmentation — not on paper

A deterministic firewall: your rule fires, not a heuristic. Less noise than behavioural detection.

Audit before/after

Every access change with before-and-after state. For compliance and incident review.

Into your SIEM

Verdict, system and audit events — in CEF/LEEF/ECS/RFC5424 over syslog/HTTP/Kafka transports. A verdict is your rule firing, without alert noise.

PKI under the CP

mTLS between agents and CP, certs issued by the control plane. Signed bundles = policy authenticity.

DevOps / SRE layer

Your firewall in your GitOps

Terraform, PR review, signed bundles and an audit trail — closing Dev, Sec and Ops at once.

Terraform provider (not in the public Registry yet) · dry-run + cascade + auto-rollback · kernel-adaptive attach: TCX on ≥6.6 coexists with Cilium.

≤ 24k/s
event ingest
256 MB
control-plane footprint from
32 / 2048
rules on 5.15–5.16 / ≥5.17
30–90 s
roll-out to 5000 hosts

Honest about limits: up to 2048 rules on ≥5.17; on <6.6 alongside Cilium, attach is not possible.

Early accesscloud

Managed qf without your own control plane — in early access

The cloud version is a private beta: limited seats, no availability guarantees. Still in development — not a shipped product.

Request beta access
frequently asked

Short and honest

How is qf different from iptables?

One policy in a control plane instead of hand-edited rules per host: label selectors, cascade to affected hosts, dry-run and before/after audit. Enforcement is on eBPF/TC, without iptables chains.

Do I need Kubernetes?

No. The control plane is autonomous, no k8s or etcd. Agents install on any Linux host (deb/rpm/Ansible).

Does it run air-gapped?

Yes. Installs from local artifacts, updates via a registry mirror inside the perimeter, CA pinned by fingerprint. No outbound calls.

Is it default-deny out of the box?

No. The default is fail-open, so a forgotten rule can’t cut a host off. The move to default-deny is managed and staged: observe first, then deny.

The iptables replacement on your own fleet — in coexist mode, no production risk

Demo and pilot run alongside your current rules (coexist), breaking nothing. Limited seats in the cloud beta.