Skip to main content

Permissions

Codex uses a granular permission system for access control.

Permission Categories

Library Permissions

PermissionDescription
LibrariesReadView libraries
LibrariesWriteCreate and update libraries
LibrariesDeleteDelete libraries

Series Permissions

PermissionDescription
SeriesReadView series
SeriesWriteUpdate series metadata
SeriesDeleteDelete series

Book Permissions

PermissionDescription
BooksReadView books and metadata
BooksWriteUpdate book metadata, reading progress
BooksDeleteDelete books

Page Permissions

PermissionDescription
PagesReadView page images

User Permissions (Admin)

PermissionDescription
UsersReadView user list
UsersWriteCreate and update users
UsersDeleteDelete users

API Key Permissions

PermissionDescription
ApiKeysReadView own API keys
ApiKeysWriteCreate and update API keys
ApiKeysDeleteDelete API keys

Task Permissions

PermissionDescription
TasksReadView background tasks
TasksWriteManage/cancel tasks

System Permissions

PermissionDescription
SystemHealthView health/metrics
SystemAdminFull administrative access

Admin Users

Admin users (is_admin: true) have full access to all features regardless of individual permissions. Use sparingly for security.

Permission Presets

Read-Only User

For users who only need to browse and read:

{
"permissions": [
"LibrariesRead",
"SeriesRead",
"BooksRead",
"PagesRead"
]
}

Power User

For users who can manage their own content:

{
"permissions": [
"LibrariesRead",
"SeriesRead",
"SeriesWrite",
"BooksRead",
"BooksWrite",
"PagesRead",
"ApiKeysRead",
"ApiKeysWrite",
"ApiKeysDelete"
]
}

Library Manager

For users who manage libraries but not users:

{
"permissions": [
"LibrariesRead",
"LibrariesWrite",
"SeriesRead",
"SeriesWrite",
"BooksRead",
"BooksWrite",
"BooksDelete",
"PagesRead",
"TasksRead",
"TasksWrite"
]
}

Best Practices

  1. Minimal permissions: Grant only necessary permissions
  2. Regular audits: Review user permissions periodically
  3. Disable unused accounts: Remove or disable inactive users
  4. Limit admin users: Only essential personnel should be admins
  5. Separate duties: Use non-admin accounts for daily use