Skip to content
osmods
PostHog

Air-gapped mode

PostHog with zero outbound calls: no update pings, no external assets, no surprises.

View upstream
AuthorOleksandra Bondar
PublishedJun 2026
LicenseMIT
Installs89

Why it exists

Some PostHog instances run inside networks where outbound traffic is a compliance incident, not a convenience. Stock PostHog phones home for version checks, loads a few assets from CDNs, and offers cloud features that assume an internet connection.

This mod removes every outbound call and proves it: the spec runs a full session behind a deny-all firewall, and fails on the first outbound attempt.

What it does

  • Disables update checks, telemetry and cloud-feature prompts
  • Serves every asset from the instance itself
  • Egress test proves zero outbound connections
  • Disabled features explain themselves instead of erroring

The spec

These acceptance criteria were written with the person who requested the mod, then locked in as its tests. The mod has to pass them on every new release train before it rides along.

  • A full session under a deny-all egress firewall triggers zero blocked connection attempts
  • Every disabled cloud feature shows a clear note instead of a broken screen

mods/air-gapped/tests/egress.spec.ts

test("a full session makes zero outbound calls", async () => {
  const firewall = await denyAllEgress()
  await runFullSession(instance)  // browse, query, export locally
expect(firewall.blockedAttempts).toEqual([])
})