Documentation Index
Fetch the complete documentation index at: https://empty-ad9a3406.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Blank Board includes a permissions system that controls what plugins can do to other plugins’ containers. This prevents unauthorized plugins from modifying or moving other plugins’ UI.api.setPluginPermissions(pluginId, permissions)
Set permissions for a plugin.Signature
| Permission | Type | Default | Description |
|---|---|---|---|
canMoveOthers | boolean | false | Can move other plugins’ containers |
canModifyOthers | boolean | false | Can modify other plugins’ DOM via updatePlugin() |
isSystem | boolean | false | Marks plugin as a system plugin (informational) |
Default Permissions
All plugins start with these defaults:How It Works
Whenapi.updatePlugin(targetId, updater) is called:
- If the caller is updating its own container → always allowed
- If the caller is updating another plugin’s container → checked against
canModifyOthers - If the caller lacks permission → the update is silently blocked (logged to console)
System Plugins
The Plugin Manager is the primary system plugin. It gets elevated permissions automatically:Security Model
| Scenario | Allowed? |
|---|---|
| Plugin modifying its own container | ✅ Always |
| Plugin modifying another (with permission) | ✅ Yes |
| Plugin modifying another (no permission) | ❌ Blocked |
| Plugin Manager modifying any plugin | ✅ Always |
| Deleting Plugin Manager | ❌ Protected |
The permissions system is runtime-only — it’s not persisted to localStorage. Permissions are set during plugin loading and reset on page reload.