Permissions and safety
The app asks for permission when a plugin first requests access beyond basic logging, events, timers, and tasks. A later permission increase requires approval again.
Permission groups
| Group | Examples | Guidance |
|---|---|---|
| Private storage | plugin.storage | Stores data only in that plugin's private area. |
| Game reads | game.state.read, game.player.read, game.entity.read | Reads supported app and game state. |
| Server and message reads | server.state.read, chat.read, dialog.read | May expose server or conversation content to the plugin. |
| Network | network.stats.read, network.inspect, network.intercept | Bounded transport statistics, packet/RPC observation, or best-effort send cancellation. |
| Interaction | chat.intercept, dialog.intercept, textdraw.intercept | Can modify or cancel supported outgoing interactions. |
| UI | ui.menu, ui.draw, ui.chat, ui.input, clipboard permissions | Adds settings, draws on the HUD, shows notifications, handles touch, or bridges clipboard text. |
| Audio and messaging | audio.playback, chat.send | Controls owned audio streams or sends messages through normal interception. |
| Controlled writes | game.player.write, game.vehicle.write | Changes supported local player or vehicle values. |
| Physics and camera | game.physics.override, game.camera.control | High-risk controlled physics effects or camera-follow leases. |
Permanently unavailable capabilities
Plugin API 1.1 does not provide arbitrary filesystem access, native memory reads or writes, native hooks, Java reflection, native library loading, or unrestricted network access. Network payloads are bounded snapshots, and send interception is fail-open when the runtime cannot safely run it synchronously.
Before enabling a plugin
- Read its description and requested permissions.
- Prefer the official catalog or an author you recognize.
- Be cautious when a simple visual plugin asks for chat interception or game writes.
- Keep the app and plugins updated.
- Disable a plugin that repeatedly times out or produces unexpected behavior.
Permissions reduce risk but do not replace trust: a plugin can still misuse data it was legitimately allowed to read.