Developers

Permissions

Declare what you need in manifest.json. The user is asked once, at install, and sees your list before agreeing.

Your bridge is built from what was granted, not what you asked for. A declined permission is not an error at install time — your plugin runs, and those calls resolve false. Handle it.

Permission What the user is told Grants
voice "Speak" voice.speak
eyes "Move the eyes" eyes.look, eyes.express
led "Change the dock lights" led.set, led.reset
motor "Move the robot" motor.pan, motor.tilt, motor.center
camera "Use the camera" camera.start/stop and face/hand events
data "Read weather" data.weather

motor and camera are marked sensitive and are presented more prominently. Ask for them only if you use them — a permission you request and never call costs you installs.

What camera is not

It does not give you the picture. You receive face and hand positions; there is no API that returns a frame, and the image never leaves the phone.

The user still sees the camera indicator while your plugin runs, so tell them why you need it.

Updates

An update that adds a permission does not inherit consent. The user is asked again, and until they agree the new permission stays ungranted while the rest keep working. Adding camera in v2 will not silently gain you a camera.

Users can change their mind

Permissions can be reviewed and revoked per plugin at any time in Settings. Check info.get() at startup rather than assuming what you had last run.

← Previous The hairobo API Next → The sandbox
Preorder Deskmate dock

Reserve your dock.

Drop your details and we'll email you the moment it ships, with early-bird pricing.