Skip to main content

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

Default Permissions

All plugins start with these defaults:

How It Works

When api.updatePlugin(targetId, updater) is called:
  1. If the caller is updating its own container → always allowed
  2. If the caller is updating another plugin’s container → checked against canModifyOthers
  3. 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:
System plugins cannot be deleted by the Plugin Manager (they show “System Protected” instead of delete/pause buttons).

Security Model

The permissions system is runtime-only — it’s not persisted to localStorage. Permissions are set during plugin loading and reset on page reload.