Plugin API: capability enforcement and secret isolation #19
Labels
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Blocks
Depends on
#21 Plugin API: third-party DSP and playback events
SBDeveloper/medley
#25 Social: Discord rich presence Plugin
SBDeveloper/medley
#26 Social: scrobbling Plugin
SBDeveloper/medley
#18 Plugin API: install from .zip with capability consent
SBDeveloper/medley
Reference
SBDeveloper/medley#19
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Part of #13
What to build
The host denies any capability a Plugin did not declare or the user did not consent to. Secrets like the ARL never leave the owning Plugin. A misbehaving Plugin is isolated from the player. Consent is re-asked if an update requests more capabilities.
Acceptance criteria
Blocked by
Implemented in
2146d5f: consent enforced at load, data dir protected from plugin mounts, call timeout + memory cap + trap recovery, update flow with re-consent on capability growth. Core integration tests in crates/core/tests/plugin_isolation.rs.