العودة إلى المدونة
CortexPrism v0.53.0 — Team-Ready: Multi-User Collaboration, Teams, API Tokens, Resource Scoping, Federation, and Internationalization

CortexPrism v0.53.0 — Team-Ready: Multi-User Collaboration, Teams, API Tokens, Resource Scoping, Federation, and Internationalization

CortexPrism v0.53.0 is here — the team-ready release that fundamentally redefines who can use the platform.

jacobJune 24, 20266 دقيقة قراءة4 مشاهدات

CortexPrism v0.53.0 is here — the team-ready release that fundamentally redefines who can use the platform. Until today, CortexPrism was a single-user agent runtime: one admin, one session, no sharing, no teams. v0.53.0 transforms it into a full multi-user collaboration hub with complete identity management, fine-grained authorization, resource scoping, cross-instance federation, and fully translated internationalization across 10 languages.

Multi-User Architecture

The release adds four database migrations (044–047) that build a complete identity and authorization stack on top of the existing platform:

Users are stored in a new table with PBKDF2 password hashing. An auto-admin account is created the first time the system starts, and instance administrators can create, disable, and enable users through both the web UI and CLI. The password hashing uses the same secure algorithm that powers the vault system — PBKDF2 with per-installation random salt and 200K iterations.

Teams support four configurable join policies: open (anyone can join), invite (admins add members), request (users ask to join), and closed (no new members). Each membership carries an admin or member role. Teams scope agent access, API tokens, and resource visibility.

API Tokens are SHA-256 hashed (only the hash is stored, never the plaintext), team-scoped via a team_ids JSON column, support configurable expiration dates, and track when they were last used. They're created, listed, and revoked through a dedicated REST API surface.

Resource Scoping touches every table in the system. Vault entries, all five memory tiers, agents, services, nodes, channels, and workspace configuration all gain owner_user_id and owner_team_id columns. The auto-admin backfill ensures existing single-user installations upgrade without losing access to their data.

Federation allows multiple CortexPrism instances to establish trust relationships. Generate a pairing token on one instance, pair with it from another, and instances can discover each other's agents and resources. This is the foundation for cross-instance team workflows.

Request Identity & Authorization

Every API request in v0.53.0 carries a RequestIdentity — a structured object with userId, teamIds, currentTeamId, and isInstanceAdmin fields. This identity is extracted from session cookies (for web UI users) or Authorization: Bearer tokens (for API consumers), and flows through the entire request pipeline via a WeakMap in the auth guard middleware.

Four authorization functions gate access to every sensitive endpoint:

  • requireInstanceAdmin() — for user management, federation control, and instance-wide settings
  • requireTeamAdmin() — for team settings changes and member management
  • requireTeamMember() — validated before allowing team-scoped agent creation
  • requireResourceOwner() — checked before any cross-user resource sharing

These guards are enforced at the API boundary, not deep in business logic. If you don't have the right permissions, you get a 403 before the handler even runs.

Agents in the Database

One of the most impactful architectural changes in v0.53.0 is the migration of agent storage from config.json to the agents database table. This enables full DB-based CRUD with user, team, and instance scope filtering:

  • listAgents() accepts optional userId and teamIds for three-layer filtering
  • GET /api/agents/:id validates the caller owns or has team access to the agent
  • PUT /api/agents/:id checks authorization before applying updates
  • DELETE /api/agents/:id verifies ownership or team admin status
  • POST /api/agents validates team membership before accepting a teamId

Built-in agents (all 10 profiles) are seeded into the DB as instance-scoped on first run. The old config.json agents key is preserved as a read-only fallback, so existing installations continue to work during the transition.

Multi-User Web UI

The web interface gains four user-aware surfaces:

The login page presents username and password fields styled to match the CortexPrism dark theme. Authentication flows through POST /api/auth/login, which verifies PBKDF2 hashes. If no username is provided, it falls back to the legacy vault-based password verification — so existing single-user setups continue to work unchanged.

The team selector appears as a dropdown in the header shell, letting users switch between teams they belong to. Changing teams re-scopes the visible agents, memory, and resources.

The Teams page provides full member management — add members by username, remove them, change roles between admin and member. Team-scoped agent creation is available directly from this page.

The Users page (instance admin only) supports creating new users with passwords, disabling accounts (preventing login), and re-enabling disabled accounts.

CLI for Multi-User

Six new CLI commands put team management in the terminal:

cortex login                     # Interactive username+password or API token
cortex logout                    # Clear stored auth
cortex whoami                    # Show current identity and team context
cortex users list                # All users (instance admin)
cortex users create <name>       # New user (instance admin)
cortex users disable/enable <n>  # Account control (instance admin)
cortex teams list                # Your teams
cortex teams create <name>       # New team

Auth tokens are persisted in ~/.cortex/auth.json, separate from the main config file.

Internationalization

All 10 non-English locale files are fully translated: Arabic (ar), German (de), Spanish (es), French (fr), Hindi (hi), Japanese (ja), Korean (ko), Portuguese (pt), Russian (ru), Chinese (zh)

Every {variable} placeholder, Unicode symbol (✓, ✗, →, ⚠), CLI command literal, and JSON structure key is preserved in the translations. The i18n system in packages/core/src/i18n/ loads locale files at startup based on the LANG environment variable or explicit locale config setting.

Production Polish

Ten fixes shipped alongside the major features:

  • Migration version collision was resolved — the four sub-migrations in 044 now use unique version numbers (044–047), preventing subsequent migrations from being silently skipped
  • The requireAuth() middleware no longer runs a COUNT(*) query on every API request — user existence is now cached with invalidation on create/disable/enable
  • Agent detail endpoints (GET/PUT/DELETE) properly validate ownership and team access
  • Agent creation validates team membership before accepting a teamId
  • Per-user default agent selection no longer overwrites the global default
  • Share creation verifies the sender actually owns the resource
  • Federation pairing token generation returns the actual stored token
  • Team agent listing works correctly when called with teamIds but no userId
  • Teams and Users page rendering uses correct DOM targets and escape functions

Four dead code artifacts were removed: src/server/precedence.ts (29 lines, no consumers), getAgentsForConfigFallback() (unused export), getUserScopeFilter() (unused export), and a stale extractIdentity import.

Technical Foundation

CortexPrism maintains its commitment to technical quality:

  • Deno 2.x strict TypeScript — single binary, no Docker
  • SQLite (WAL mode) via libSQL — five databases with clean schema
  • 6 workspace packages with 41 contract interfaces
  • 30 LLM providers with unified streaming interface
  • PBKDF2 + SHA-256 for credential and token security
  • Zero telemetry, Apache 2.0

Get Started

# Install
curl -fsSL https://cortexprism.io/install.sh | bash

# Setup and start
cortex setup
cortex serve

# Open http://localhost:3000 → Login page

Already running? Upgrade in place:

cortex self update

The project is Apache 2.0 licensed, fully open source, and has zero telemetry.

GitHub: github.com/CortexPrism/cortex Changelog: CHANGELOG.md


Built with Deno. 6 packages. Multi-user collaboration. 30 LLM providers. Zero telemetry.

J

jacob

Related posts

CortexPrism v0.52.0 — Distributed Intelligence: WASM Plugin Runtime Overhaul, Multi-Instance Swarm Orchestration, 6 New LLM Providers
+8

CortexPrism v0.52.0 — Distributed Intelligence: WASM Plugin Runtime Overhaul, Multi-Instance Swarm Orchestration, 6 New LLM Providers

CortexPrism v0.52.0 is here — the distributed intelligence release that fundamentally expands what the platform can do. WASM plugins can now be compiled from C, Rust, or Zig with a production-grade runtime.

jacobJune 23, 20267 دقيقة قراءة5
CortexPrism v0.51.0 — Agent Autonomy: Runtime Tool Forging, Multi-Agent Orchestration, HEXACO Personalities
+5

CortexPrism v0.51.0 — Agent Autonomy: Runtime Tool Forging, Multi-Agent Orchestration, HEXACO Personalities

CortexPrism v0.51.0 is here — the agent autonomy release that fundamentally transforms what agents can do.

jacobJune 23, 20267 دقيقة قراءة3