How is this different from Tailscale?
Tailscale needs its agent (tailscaled) running on every device. That's great for laptops and servers, awkward for branch routers. MeshWG works with whatever WireGuard implementation is already on the device — the one TP-Link, MikroTik, OpenWrt and Ubiquiti ship in their stock firmware. No agent install. Also: MeshWG prices by machine, not by user, which matches the homelab / multi-site / MSP shape better.
What is MeshWG today?
An open-source Go controller that manages WireGuard peers and L3/L4 ACLs for one or more organizations. Self-hosted on a single Linux VM. No cloud relays, no SaaS lock-in — the dashboard and API are the whole product surface.
Is this really SDWAN, or just WireGuard with a UI?
It's WireGuard with a UI, plus per-tenant Linux namespace isolation, iptables-enforced ACLs, a startup reconciler that rebuilds kernel state from the database, and an e2e harness that validates every claim against real kernel oracles. If 'SDWAN' means a $1,500 box, this isn't that. If it means software-defined site-to-site networking with central policy, it is.
Which devices work with it?
Anything that speaks WireGuard. That's TP-Link Archer/Deco/ER, D-Link DIR/COVR/DSR, Ubiquiti UDM/EdgeRouter, MikroTik RouterOS 7+, OpenWrt 19.07+, OPNsense, pfSense, and any Linux/Mac/Windows machine. The controller emits stock wg-quick config.
Where do private keys live?
Tenant hub private keys are generated by the controller and stored encrypted at rest with AES-256-GCM. Per-machine private keys are returned exactly once when the machine is created and not retained server-side after the .conf is shown.
Does the hub provide internet egress?
No. By design and verified by the e2e harness: the tenant namespace has zero MASQUERADE rules, zero SNAT rules, only wg0 + lo interfaces, and external IPs are unreachable from inside it. The hub forwards overlay traffic between peers only. Machines reach the internet via their own local network.
What happens if the controller goes down?
Existing tunnels keep running — WireGuard is a kernel feature on each peer, it doesn't depend on the controller. You lose the dashboard and the ability to change policy until it's back. The startup reconciler rebuilds kernel state from PostgreSQL when it comes back up.
How does sign-up work?
Sign in with Google or with an email + password. That's it. No SSO providers, no SAML, no Microsoft Entra — this is intentionally a tool for individuals and small teams, not enterprise procurement. If your use case needs SAML, talk to us about Pro.