OSS-first docs
These docs teach the open system first: contracts, generated surfaces, runtimes, governance, and incremental adoption. Studio shows up as the operating layer on top, not as the source of truth.
User identity, organization management, and role-based access control
Operations (21)
•
`identity.user.create` (v1.0.0)
•
`identity.user.update` (v1.0.0)
•
`identity.user.delete` (v1.0.0)
•
`identity.user.me` (v1.0.0)
•
`identity.user.list` (v1.0.0)
•
`identity.org.create` (v1.0.0)
•
`identity.org.update` (v1.0.0)
•
`identity.org.get` (v1.0.0)
•
`identity.org.list` (v1.0.0)
•
`identity.org.invite` (v1.0.0)
•
`identity.org.invite.accept` (v1.0.0)
•
`identity.org.member.remove` (v1.0.0)
•
`identity.org.members.list` (v1.0.0)
•
`identity.rbac.role.create` (v1.0.0)
•
`identity.rbac.role.update` (v1.0.0)
•
`identity.rbac.role.delete` (v1.0.0)
•
`identity.rbac.role.list` (v1.0.0)
•
`identity.rbac.assign` (v1.0.0)
•
`identity.rbac.revoke` (v1.0.0)
•
`identity.rbac.check` (v1.0.0)
•
`identity.rbac.permissions` (v1.0.0)
Events (15)
•
`user.created` (v1.0.0)
•
`user.updated` (v1.0.0)
•
`user.deleted` (v1.0.0)
•
`user.email_verified` (v1.0.0)
•
`org.created` (v1.0.0)
•
`org.updated` (v1.0.0)
•
`org.deleted` (v1.0.0)
•
`org.member.added` (v1.0.0)
•
`org.member.removed` (v1.0.0)
•
`org.member.role_changed` (v1.0.0)
•
`org.invite.sent` (v1.0.0)
•
`org.invite.accepted` (v1.0.0)
•
`org.invite.declined` (v1.0.0)
•
`role.assigned` (v1.0.0)
•
`role.revoked` (v1.0.0)
Source Definition
/**
* Identity RBAC Feature Module Specification
*
* Defines the feature module for identity management and role-based access control.
*/
import { defineFeature } from '@lssm-tech/lib.contracts-spec';
/**
* Identity & RBAC feature module that bundles user management,
* organization tenancy, and role-based access control.
*/
export const IdentityRbacFeature = defineFeature({
meta: {
key: 'identity-rbac',
version: '1.0.0',
title: 'Identity & RBAC',
description:
'User identity, organization management, and role-based access control',
domain: 'platform',
owners: ['@platform.identity-rbac'],
tags: ['identity', 'rbac', 'users', 'organizations', 'permissions'],
stability: 'stable',
},
// All contract operations included in this feature
operations: [
// User operations
{ key: 'identity.user.create', version: '1.0.0' },
{ key: 'identity.user.update', version: '1.0.0' },
{ key: 'identity.user.delete', version: '1.0.0' },
{ key: 'identity.user.me', version: '1.0.0' },
{ key: 'identity.user.list', version: '1.0.0' },
// Organization operations
{ key: 'identity.org.create', version: '1.0.0' },
{ key: 'identity.org.update', version: '1.0.0' },
{ key: 'identity.org.get', version: '1.0.0' },
{ key: 'identity.org.list', version: '1.0.0' },
{ key: 'identity.org.invite', version: '1.0.0' },
{ key: 'identity.org.invite.accept', version: '1.0.0' },
{ key: 'identity.org.member.remove', version: '1.0.0' },
{ key: 'identity.org.members.list', version: '1.0.0' },
// RBAC operations
{ key: 'identity.rbac.role.create', version: '1.0.0' },
{ key: 'identity.rbac.role.update', version: '1.0.0' },
{ key: 'identity.rbac.role.delete', version: '1.0.0' },
{ key: 'identity.rbac.role.list', version: '1.0.0' },
{ key: 'identity.rbac.assign', version: '1.0.0' },
{ key: 'identity.rbac.revoke', version: '1.0.0' },
{ key: 'identity.rbac.check', version: '1.0.0' },
{ key: 'identity.rbac.permissions', version: '1.0.0' },
],
// Events emitted by this feature
events: [
// User events
{ key: 'user.created', version: '1.0.0' },
{ key: 'user.updated', version: '1.0.0' },
{ key: 'user.deleted', version: '1.0.0' },
{ key: 'user.email_verified', version: '1.0.0' },
// Organization events
{ key: 'org.created', version: '1.0.0' },
{ key: 'org.updated', version: '1.0.0' },
{ key: 'org.deleted', version: '1.0.0' },
{ key: 'org.member.added', version: '1.0.0' },
{ key: 'org.member.removed', version: '1.0.0' },
{ key: 'org.member.role_changed', version: '1.0.0' },
// Invitation events
{ key: 'org.invite.sent', version: '1.0.0' },
{ key: 'org.invite.accepted', version: '1.0.0' },
{ key: 'org.invite.declined', version: '1.0.0' },
// Role events
{ key: 'role.assigned', version: '1.0.0' },
{ key: 'role.revoked', version: '1.0.0' },
],
// No presentations for this library feature
presentations: [],
opToPresentation: [],
presentationsTargets: [],
// Capability definitions
capabilities: {
provides: [
{ key: 'identity', version: '1.0.0' },
{ key: 'rbac', version: '1.0.0' },
],
requires: [],
},
});