-
Notifications
You must be signed in to change notification settings - Fork 72
Add permission controls for plugins to use a connected provider #342
Description
What problem does this address?
It's currently difficult to control access to connected AI providers. WP_AI_SUPPORTED and related filters give some options for programmatic control, but the level of connection provided by centralizing access through the AI client methods isn't matched by the level of control that's enabled.
(Complements #149 which adds the observability layer)
What is your proposed solution?
Exposing controls that allow site admins to allow/revoke or route access to connected AI providers. There are a few layers to this:
1. Master off switch
Ability to prevent all access to AI providers. Needed for cases where strict privacy/compliance concerns require hardline prevention of AI functionality.
- Already enabled via
WP_AI_SUPPORTED
2. Plugin-level permissions
Ability to grant/revoke access to AI providers for specific plugins to use for their own functionality. This allows users to control costs and access on a more granular level than the all-or-nothing approach of 1. Preferably permissions are granted on an opt-in basis so plugins have to be granted explicit access to use connected providers (similar mental model to OAuth scopes).
3. Functionality-level permissions
Ability to grant/revoke access to connected providers for specific AI functionality. Grants even more granular control than 2, which can break down along prompt-type-lines (e.g. allow text generation while preventing image gen), or even for particular features (plugins with multiple AI features must request access per feature). This gives users fine-grain control over AI access/spend on the site, especially beneficial for sites with multiple roles that have wp-admin access (e.g. Admin might want to only allow Editors to use specific features, or types of features).
4. Provider routing
Ability to route usage to specific providers on plugin/functional basis. Can be used as another cost control, or to improve performance of features that are better suited for one model vs. another. This layers on top of the "on/off" permissions settings to gives users control of "how" their AI features work, not just "if" they work or not.
Metadata
Metadata
Assignees
Labels
Type
Fields
Give feedbackProjects
Status