LANcams

Fanatically PRIVATE video tech
Open LANcams

LANcams turns devices you already own into a live camera system — and into a small video meeting. Point a spare phone at the bird feeder, the driveway or the front door, and watch from any browser in the house. Or open a room and share cameras with people anywhere. No apps, no accounts, no subscriptions.

Three ways to use it

1 — Private rooms, across the web

Pick a room name (the dice button makes good random ones) and send the link, or show the QR. Everyone who opens it lands on the same wall of cameras. No accounts, no downloads, no time limit — and the name never reaches our server, only a one-way hash of it.

2 — Your home or office LAN

Open this page on any device on your network and press Add+ on the one you want as a camera. Every other screen can watch it. Nothing leaves the building, and it works when your internet does not.

3 — Download and install it yourself

AGPL software with no hosted dependency. Run the whole thing on a machine you own — a spare laptop, a Pi, a VPS — and the only party in the arrangement is you.

How it compares

The honest version, including where LANcams loses. It is built for a household and a handful of people, and the things it gives up are what buy the privacy.

  LANcams Zoom · Meet · Teams Jitsi Meet Signal · WhatsApp · FaceTime Ring · Nest · Wyze
Where the video goes Device to device. On a LAN it never leaves the building. Through the operator's servers. Through a bridge, which relays every stream. Encrypted end to end, usually direct, sometimes via their relays. To the vendor's cloud, always — including when nobody is watching.
Who could watch it Whoever knows the room name. Nobody else — there is no copy to ask for. The operator technically can, and can be compelled to. Whoever runs the bridge. Nobody — genuinely end-to-end encrypted. The vendor, and anyone they must comply with.
Accounts None. There is nothing to sign up for. Required. None. A phone number, which is an identity. Required.
To join Open a link. An app, or a browser with limits. Open a link. Their app, and often the same platform. Their app.
Arrange it your way Tile, split, resize, rotate, fit-or-fill per feed; several windows at once, so you can hold one call, watch a room and keep a monitor up together; sound you can SEE, as waveform or goniometer. The arrangement travels in the link. A grid or a speaker view, and it rearranges itself when someone presents. One meeting at a time. A grid or a speaker view. One caller large, the rest small. Their app decides.
Who decides what you look at You do. Nothing another participant does rearranges your screen, and any number of people can share at once. The presenter. Sharing takes over everyone's screen and moves their panels — and only one person may share at a time. Mostly you, within a grid or speaker view. Mostly you. The app.
Can it ring you? Yes, opt-in per device — so a room can call you rather than you having to be watching it. Only via a scheduled invite you were already expecting. No. Yes — that is what a phone number buys them. Yes, for motion.
Cost Free. Nothing is metered because nothing is stored. Free tier with a meeting-length cap. Free, with limits. Free. Hardware, then a subscription to keep history.
How many people A handful. Every device sends to every other, so it stops scaling early. Hundreds. Dozens. Dozens. n/a
Recording None at all. Nothing is kept anywhere. Yes, to their cloud. Yes. No (by design). Yes — that is the product.
Works with no internet Yes, on your own LAN. No. No. No. Mostly no.
Works through a VPN Usually not. A commercial VPN drops the unsolicited incoming traffic a direct connection needs, and there is no relay to fall back on — that is the same choice as the row above, seen from its bad side. Turn the VPN off for the call, or use a room on your own network. Yes — the servers your video already goes through relay it past the VPN too. Yes, through the bridge. Yes — they relay when a direct path cannot be found. Yes. The camera talks to the company, not to you.
Can you check the code you are running? Yes — signed release, and the page audits itself against it. No. Source is open, but you cannot verify the instance you loaded. Signal publishes its source; the others do not. Either way you cannot verify what your device actually loaded. No.

On being opinionated. Zoom has a strong view of what a meeting is: one person presents, everyone watches, and the software rearranges your screen to make sure of it. That is right for a lecture and wrong for a household with four cameras, or a workshop where several things happen at once. Most alternatives are not opinionated the other way so much as uninterested — they give you a grid and stop. LANcams takes the opposite view on purpose: nothing anyone else does changes what is on your screen, and as many people can share as want to.

About that fourth column. Signal, WhatsApp and FaceTime are the closest thing to LANcams on privacy, and on the call itself they are not worse — they are properly end-to-end encrypted. They differ in everything around the call: each wants a phone number, a durable identity you cannot shed, and their app at both ends; none runs on your LAN with the internet down; and none is a camera system. You cannot point Signal at a bird feeder and leave it there for a month.

Where it will disappoint you. There is no recording, so there is no "what happened last night" — LANcams shows you now, not then. It does not scale past a few participants, because everyone sends to everyone rather than to a bridge. There is no dial-in, no scheduling, no waiting room, no chat-with-history.

And a VPN will usually stop it working. A commercial VPN carries your traffic out through its own exit and drops the unsolicited incoming packets two devices need to find each other. One person on a VPN is often enough to stop a call connecting; two, and it essentially never will. A symmetric NAT, a locked-down corporate network or a national firewall do the same. The remedy is dull but reliable: turn the VPN off for the call, or meet on your own LAN.

Everything that does sail through a VPN does so by relaying your call through its own servers — Zoom, Meet and Teams always; Jitsi through a bridge; Signal, WhatsApp and FaceTime whenever a direct path fails. That is not a quirk of their engineering: it is the only way through a network that refuses incoming traffic, and it is exactly what LANcams is built not to do.

There is a standard fix — a TURN relay — and the trade is worth stating plainly. A relay carries the media but carries it encrypted: the keys are negotiated end to end, so the relay operator cannot watch or record. What it does learn is that two endpoints are talking, when, and how much — far less than Zoom knows, and not nothing. LANcams offers none today, and any future one will be opt-in per call and say so on screen. If you need a relay, point LANcams at your own.

Those are consequences of the same decision, not an unfinished to-do list: the moment a server can relay or keep your video, it can be asked for it.

Built so it does not have to spy on you

The server only introduces people

It passes the messages two browsers need to find each other, then gets out of the way. Video and audio go straight between devices, so there is no point in the middle to be copied or subpoenaed.

The room name never reaches it

Only a one-way hash of it does, so the server can tell people are in the same room without knowing its name — and it cannot leak, sell or be compelled to hand over a name it does not have.

You can check all of this

Every file the app is made of is hashed and signed, and the integrity audit re-checks what your browser actually loaded — so nothing here asks you to take our word for it.

More detail

How it works underneath, what the server can and cannot see, the security model, and the setups it is known to struggle with: questions & answers.

What the server could still do

Because we would rather you heard it from us. The hash is the key to the room. A client joins by presenting it, and the server has seen every hash it ever carried — so a dishonest operator could put its own client in your room, exactly as any participant does. Nothing peer-to-peer prevents that: such a client is not breaking in, it is joining. Asking a client to prove it knows the name would not help, because the proof lives in the client, and whoever runs a dishonest server can ship a dishonest client too.

So rooms are sealed by default: each frame is encrypted with a key derived from the room NAME, while the server still sees only the hash, from which the key cannot be computed. Joining with the hash buys a seat and nothing to look at. Unsealing is a deliberate, visible choice (it saves phone battery), never a fallback anyone can trigger. What sealing does not hide is metadata — who is present, when, and how much they send.

In LAN mode there is no name and so no key, and none is needed: your devices refuse every connection that does not terminate on your own network, so an operator’s client can hold a seat and never receive a frame. Locality is the one credential a remote machine cannot forge.

And the client is checkable rather than promised: every file is signed, and the integrity audit re-checks what your browser actually loaded. Run your own server and the question does not arise at all.

"But Signal and WhatsApp are end-to-end encrypted"

They are, and the protocol is good. But end-to-end encryption is two steps — exchange keys, then encrypt to the key you received — and step one goes through the operator's servers, because before you have keys that is the only channel you share. So a dishonest operator never has to break the encryption. It hands you a key it controls, and you encrypt perfectly, to the wrong party.

The defence is comparing a safety number out of band — in the room, over a phone call, on another app. It works. Almost nobody does it. So in practice most people are trusting the operator's key directory, which is a trust relationship, not a mathematical guarantee.

And no protocol fixes the layer beneath: you cannot check the app. It arrives as a binary, updates itself, and cannot be compared against the published source. Rigging the endpoint has always been easier than rigging the algorithm — the lesson of Crypto AG, whose customers' cryptography was never broken because it never had to be.

LANcams is not better at the maths. It is better at one thing: you can see what you are running. The code is served fresh, every file is signed, and the integrity audit checks what your browser actually loaded — the check an installed app cannot offer. That is a narrow advantage and we will not oversell it.

The room name is the password

There are no accounts, so the room name is the only thing between your call and a stranger. Treat it like a password: a made-up name nobody would guess, not meeting or your surname. The dice button makes good ones. Anyone who guesses it can walk in.