CollaboKeys is designed for trusted local networks — it grants players on the same LAN the ability to emulate keypresses on the host machine. While each player is limited to only their own assigned keys, this is still meaningful access to the host’s keyboard. This section covers the protections that are in place, what players are and are not permitted to do, and how to respond quickly if something goes wrong.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/tinkerer9/collabokeys/llms.txt
Use this file to discover all available pages before exploring further.
What Players Can Do
CollaboKeys is intentionally restrictive about what a player is allowed to control.- Only their own keys — Each player can only emulate keys that have been reserved to them. A player who owns
ArrowLeftcannot sendArrowRightif that key belongs to someone else (or to no one yet). - Emulation can be disabled at any time — The admin can disable all emulation globally with the
disable emulationcommand or the Enable/Disable control on the admin page. When emulation is off, no keypresses reach the OS regardless of what players send. - Rate limiting — A global keypress rate limit prevents players from flooding the server with inputs. By default the limit is
150keypresses per minute across all players. This can be adjusted viamaxKeypressesPerMinuteinsrc/config.json. Set it to0to remove the limit entirely. - Keypresses only — Players send
keydownandkeyupevents over Socket.IO. That is the extent of their capability. They cannot access files, run commands, read the host’s screen, or interact with the OS in any way other than emulated key events.
What Players Cannot Do by Default
Several potentially dangerous key types are disabled insrc/keycodes.js out of the box and must be explicitly enabled by an admin before any player can emulate them:
- System-level and modifier keys —
command,esc,shift,option,control,caps lock,tab, anddeleteare all disabled by default. - Function keys —
F1throughF20are disabled by default. - No mouse emulation — CollaboKeys is strictly keyboard-only. There is no mechanism for players to move the mouse pointer, click, or scroll.
- No screen access — Players cannot see the host’s screen. They interact entirely through the web client, which shows only their own reserved key list.
Admin Page Security
The admin page is the most powerful interface in CollaboKeys. Anyone who can access it can stop the server, revoke keys, or manage players.- Setting a password
- autoAuthHost
- Disabling the admin page
Set Anyone who knows the password and can reach the server on the network will be able to authenticate and run admin commands. Choose a password that others on the network cannot easily guess.
adminPage.password in src/config.json to a non-empty string. Any browser that opens the admin page will be presented with a password prompt before controls become visible.src/config.json
Monitoring
The admin page provides real-time visibility into everything happening in a session.- Logs panel — Every
error,warn,info, andhttplevel event is streamed live to the admin page. Player connections, name changes, keypresses, and emulation errors all appear here in real time. See the Logging page for details. listcommand — Uselist all(orls all) at any time to see every connected player, their IP address, and the keys they have reserved. Uselist activeto focus on players who are actively in the session, orlist wrto check the waiting room.
Emergency Stop Procedures
Network Scope
CollaboKeys binds its HTTP and Socket.IO server to0.0.0.0, which means it listens on all local network interfaces. Players must be on the same LAN as the host — cross-network play is not supported and there is no built-in tunnelling or relay.
Keep all players on a trusted home or office network. Do not port-forward the CollaboKeys port through your router or expose it to the internet. There is no authentication layer on the player-facing client page, so any device that can reach the port can join as a player.