Skip to content

pAIring security

  • Change the starter admin / admin password, or create your own admin and disable that account.
  • Set a real SECRET_KEY in .env. See Configuration.
  • Serve pAIring over HTTPS with a reverse proxy, then set SESSION_COOKIE_SECURE=true.
  • Open only the pAIring port in the firewall. Keep engine ports (Ollama, Matricxon, the image engine) on a private network.
  • For a Matricxon cluster, set an admin secret on the Cluster page.
  • Connect only MCP tool servers you trust.
  • Passwords are stored as bcrypt hashes, never as plain text.
  • Sessions use signed cookies. Anyone with the SECRET_KEY could forge one, so keep it private.
  • Login limit. After 5 failed attempts from one address, logins from it are refused for 15 minutes. The count is kept per pAIring process.
  • Roles. Users, channel managers and admins. Admin pages and admin actions check the role on the server, not only in the browser.
  • Disabling an account takes effect at once, even for sessions already open, and keeps its history.
  • Prompts and replies are saved only in your own database. They are never sent to us and never used to train a model.
  • Each user’s chats are private. Nobody else can see or list them, admins included.
  • Private documents are searched only by their owner’s chats.
  • Channel messages are seen only by channel members. Admins must be members too.

Some settings hold secrets that pAIring must send again later. These are encrypted in the database with a key derived from SECRET_KEY:

  • The outbound proxy password.
  • MCP server headers, such as API keys.
  • Connector secrets, such as the RunPod API key.
  • The Matricxon cluster admin secret.

They are never shown again after saving. Reading them needs both the database and the .env file.

The MySQL password sits inside DATABASE_URL in .env, next to SECRET_KEY. Protect that file with normal file permissions.

  • Ollama and Matricxon have no logins of their own. Keep them on a private network.
  • With a Matricxon admin secret, every call that changes models, caches or the cluster must be signed, and a captured call cannot be replayed. pAIring signs its calls for you. See the Matricxon API.
  • Saved chat caches on Matricxon are encrypted with AES-256-GCM. See Prompt cache.

Whatever an MCP tool returns is shown to the model. A tool server could try to steer the model with its output. Only connect servers you trust, and give each one the smallest access it needs.