Security
What the relay can see
Laser asks for two unusual things: run this install script, and pair this phone to the machine your source code is on. Both deserve a straight answer about what is actually being trusted.
The relay forwards bytes it cannot read
The interface on your phone is not a companion app with a subset of features. It is the same interface, reaching your phone over a relay — a server whose entire job is to carry bytes from one end of a channel to the other.
What makes that claim checkable rather than reassuring is what the relay is built out of. It links no crypto library. It parses nothing but a channel id. There is no code in it that could decrypt your work, because there is no code in it that does cryptography at all, and none that inspects a payload, because it never looks past the identifier that tells it which socket to write to.
A relay that could read your work but promises not to is a policy. A relay with no ability to read your work is a property of the program. The second one survives a change of ownership, a subpoena, and a bad week.
Pairing is a QR code and six words
Pairing shows a QR code on one screen and six words on both. You check that the words match. That is the whole ceremony.
Six words read aloud is not security theatre; it is the part that a QR code alone cannot do. Scanning a code proves that a device saw a screen. Comparing a short phrase on both screens proves that the two devices agree about which channel they are on — and that is the thing an attacker in the middle would have to break, and cannot, without one of the two screens showing something different from the other.
What is verified before anything is written
- Integrity
- The download is checked against a checksum manifest.
- Provenance
- The build provenance is verified, so what arrives is what was built.
- Order
- Both checks run before the installer writes anything that stays.
- Privilege
- The install goes into your home directory. It never asks for root.
- Interruption
- An interrupted install rolls back rather than leaving a half-state.
- Removal
- --uninstall removes what the installer created, and asks about anything you made.
The command itself downloads the script to a file and then runs it, rather than piping it into a shell. That is deliberate, and it exists so that you can read the thing before it runs. See the install page for the sequence in full.
What this page does not claim
Laser runs coding agents against the projects on your machine, with your permissions. It is not a sandbox and does not pretend to be one. An agent that can edit your repository can edit your repository; what Laser adds is that you can see it happening and stop it from either screen.
Nothing here is an audit, and nothing here should be read as one. These are statements about how the program is built, written so that they are specific enough to be wrong — which is the only kind of security claim worth printing.