RBAC Selora AI and MCP
> **Warning:** This Epic's description is a mirror of the [roadmap documentation](https://selorahomes.com/docs/roadmap/rbac-selora-ai-mcp/).
> Please propose all content changes via a Merge Request in the repository.
{{< gitlab-epic >}}
## Summary
Implement role-based access control (RBAC) for Selora AI and the MCP interface, enabling different household members to have different permission levels ranging from read-only to full access. This prevents unsafe commands (e.g., "open locks") from being executed by users who shouldn't have that authority.
## Problem Statement
Currently, Selora AI treats all commands with the same level of permissions. The system disallows potentially unsafe commands like "open locks" entirely because they are not considered safe for any user. However, different people in a household should have different capabilities:
- Children or guests should have read-only or restricted access.
- Parents or administrators should have full access to all functions.
This granularity cannot be implemented in Home Assistant alone because the chat interface and MCP expose entities directly from HA, and client-side restrictions (e.g., JavaScript) can be bypassed by malicious users.
## Solution
- **Role-based tiers**: Define permission levels (e.g., read-only, restricted, standard, full-access) that map to different capabilities.
- **Server-side enforcement**: Access control is enforced at the Selora AI / MCP layer, not client-side, preventing bypass.
- **Household profiles**: Each household member gets a role that determines what commands and entities they can interact with.
- **MCP integration**: The MCP protocol respects the same RBAC boundaries, so external tools and automations are also constrained.
## Target Audience
- **Homeowners**: Families with multiple members needing differentiated access.
- **Installers**: Ability to configure and audit permissions for customer households.
## Open Questions
- How to authenticate and identify individual household members.
- Whether roles should be configurable per device, per room, or per capability.
- Default role for unauthenticated / guest access.
## Related
- Epic: [RBAC Selora AI and MCP (#57)](https://gitlab.com/groups/selorahomes/products/-/epics/57)
epic