Hyperbeam roles are scoped permissions assigned to users. They are similar to Linux groups, where each role corresponds to one permission, and multiple roles can be assigned to a single user.
RoleEnabled by default?Description
chrome_apisAllows the user to call functions from the Chrome Tabs API (hb.tabs)
resizeAllows user to resize the resolution of the Hyperbeam browser
controlAllows the user to send mouse and keyboard inputs
cursor_dataProvides cursor data of other users via the onCursor callback
clipboard_copyAllows the user to copy content from the browser using CTRL+C / CMD+C
file_uploadAllows the user to upload files from their local file system
field_maskingAllows the user to write to masked fields

Overriding default roles

You can override the default roles assigned to a newly connected user when creating the session:
curl -X POST -H "Authorization: Bearer $HB_API_KEY" \
  https://engine.hyperbeam.com/v0/vm --data \
  '{"default_roles": ["control", "clipboard_copy", "cursor_data"]}'

Toggling roles

You can toggle the roles of individual users dynamically. See addRoles and removeRoles endpoints.