Vault Types
There are three vault types, each with different ownership and access semantics:Personal
Private vault for individual users.
- One per user
- Owner has full write access
- Other members have read-only access
Enterprise
Collaborative team vault.
- Shared across team members
- Owner and admin can write
- Members have read-only access
System Default
Shared read-only template vault.
- One per deployment
- Contains default skills
- Always read-only for users
Vault Properties
Database Schema
Key Fields
| Field | Type | Description |
|---|---|---|
id | UUID | Primary key |
slug | text | Globally unique identifier |
name | text | Display name |
type | enum | personal, enterprise, or system_default |
color | text | Optional UI color hint |
is_system_managed | boolean | Guard against user modification |
metadata | JSONB | Application metadata |
The
slug field is globally unique across all vaults, not just per-user.Vault Memberships
Users access vaults through vault memberships, which define both permissions and preferences.Membership Roles
Owner
Full vault control.
- Create/edit/delete skills
- Manage vault settings
- Invite and remove members
- Delete vault (enterprise only)
Admin
Write access and member management.
- Create/edit/delete skills
- Invite and remove members
- Cannot delete vault
Member
Read-only access.
- View skills and resources
- Search and link to skills
- Cannot modify content
Membership Schema
Enabled vs Disabled Memberships
Theis_enabled flag is a user preference, not a permission control:
- Enabled (default): Vault appears in active vault list
- Disabled: Vault is hidden from primary UI but skills remain accessible
Disabled memberships still grant access. Skills from disabled vaults appear in:
- List and search results (with disabled status)
- Graph traversal
- Sync operations
Read-Only vs Writable Vaults
Write permissions are derived from vault type + membership role:Permission Matrix
| Vault Type | Owner | Admin | Member |
|---|---|---|---|
| Personal | ✅ Write | ❌ Read-only | ❌ Read-only |
| Enterprise | ✅ Write | ✅ Write | ❌ Read-only |
| System Default | ❌ Read-only | ❌ Read-only | ❌ Read-only |
Vault Invitations
Enterprise vaults use an invitation system for adding members:Invitation Lifecycle
Recipient accepts or declines
- Accepted: Creates vault membership with specified role
- Declined: Invitation marked as declined
Vault Semantics
System Default Vault
- Exactly one shared
system_defaultvault exists in production - Contains skills seeded from
resources/default-skills/ - Marked with
is_system_managed: true - Cannot be modified or deleted through normal operations
Personal Vaults
- Created automatically when user signs up
- Slug typically matches username (e.g.,
alice-personal) - Owner has exclusive write access
- Can share with read-only members
Enterprise Vaults
- Created explicitly by users or teams
- Collaborative write access for owner and admins
- Membership-driven access control
- Can be deleted by owner
Skill Ownership
Every skill’sowner_vault_id determines:
- Permission inheritance: Write access follows vault rules
- Slug uniqueness: Slugs are unique per vault, not globally
- Visibility: Skills inherit vault membership visibility
Next Steps
Skills
Learn about skill structure and SKILL.md format
Mentions
Link skills across vaults with markdown mentions
Skill Graph
Explore the multi-vault graph structure