Privacy
Why Kamo never records your keyboard
A screen recorder that reads your keys is one config change away from a keylogger. Here's why Kamo only listens to the mouse, and how we make sure it stays that way.
· 3 min read · By Doug Siqueira
Some screen recorders show the keys you press on screen: a little overlay with ⌘K or Ctrl+S. It's a nice touch for tutorials. Kamo doesn't do it, and won't. Here's why.
A recorder sees everything
To show your shortcuts, an app has to listen to your keyboard system-wide, in every app, all the time it's recording. That means it also sees your passwords, your messages and whatever you type in the other window. The overlay may only show the shortcuts, but the app received everything.
A recorder that reads the keyboard is one bug, or one bad update, away from being a keylogger. Developers notice this immediately, and they're right to. We decided early on that Kamo would earn trust by not being able to do it at all.
What Kamo listens to instead
The automatic zoom only needs the mouse: where it moves, when you click, and when you scroll. So that's all Kamo records, in a file called events.jsonl inside each project. You can open it and read it.
On Windows, Kamo's capture helper installs a mouse-only hook. There's no keyboard hook anywhere in the app.
How we keep it that way
Promises in a README are easy to break by accident. So the rule is enforced by the code:
- A guard in CI. Every change to Kamo runs a check that fails the build if it finds system-wide keyboard APIs in the code.
- A banned library. A popular input library for Electron was ruled out because it installs a keyboard hook along with the mouse one.
- A strict file format. The code that reads
events.jsonlrejects any line with fields it doesn't know, so a keyboard field can't sneak in later.
The one key Kamo does react to globally is the stop shortcut, Ctrl+Shift+2, registered only while you're recording, so you can stop from any app. Keys you press inside Kamo's own window (Space to play, Esc to cancel) are just the app's interface, not capture.
What it means for you
- Kamo can't leak what you type, because it never has it.
- What's visible on screen is still in the video. Close your secrets, password managers and private chats before you hit record.
- The code is open. You can check all of this yourself.
Privacy isn't a feature we bolted on. It's a list of things Kamo won't do.
