ScriptsJul 6, 2026·3 min read

Cinny — Self-Hosted Matrix Client for Encrypted Chat

Cinny is a sleek, open-source Matrix client with end-to-end encryption, custom themes, and full self-hosting support for private team communication.

Agent ready

Safe staging for this asset

This asset is staged first. The copied prompt tells the agent to inspect the staged files and ask before activating scripts, MCP config, or global config.

Stage only · 29/100Policy: stage
Agent surface
Any MCP/CLI agent
Kind
CLI Tool
Install
Single
Trust
Trust: Established
Entrypoint
Cinny Matrix Client
Safe staging command
npx -y tokrepo@latest install 491d4cd3-78f2-11f1-9bc6-00163e2b0d79 --target codex

Stages files first; activation requires review of the staged README and plan.

Introduction

Cinny is an open-source Matrix client designed for simplicity and usability. It provides a Discord-like chat interface on top of the decentralized Matrix protocol, supporting end-to-end encryption, spaces, and rich media out of the box.

What Cinny Does

  • Connects to any Matrix homeserver with a modern, responsive web UI
  • Supports end-to-end encrypted messaging via the Matrix SDK
  • Organizes conversations with Spaces, rooms, and direct messages
  • Renders rich content including markdown, code blocks, and media embeds
  • Provides custom themes and appearance settings for personalization

Architecture Overview

Cinny is a single-page React application that communicates directly with a Matrix homeserver via the Client-Server API. It uses the matrix-js-sdk for protocol handling and olm/megolm for end-to-end encryption. The app can be served as static files from any web server or container, with no backend of its own.

Self-Hosting & Configuration

  • Deploy via Docker with ajbura/cinny or build from source using Node.js
  • Configure the default homeserver URL in config.json before deployment
  • Serve behind a reverse proxy (Nginx, Caddy) with TLS for production use
  • Set Content-Security-Policy headers to restrict resource loading
  • Supports Progressive Web App (PWA) installation for mobile-like access

Key Features

  • Clean, Discord-inspired UI that lowers the barrier to Matrix adoption
  • Full end-to-end encryption support with device verification flows
  • Spaces support for organizing rooms into categories and communities
  • Cross-signing and session management for multi-device users
  • Lightweight static deployment with no server-side dependencies

Comparison with Similar Tools

  • Element — feature-complete but heavier; Cinny offers a simpler, faster interface
  • FluffyChat — mobile-focused with Flutter; Cinny targets the web primarily
  • Hydrogen — minimal and experimental; Cinny is more feature-rich for daily use
  • Nheko — native desktop Qt app; Cinny runs in any browser
  • SchildiChat — Element fork with layout tweaks; Cinny is built from scratch

FAQ

Q: Does Cinny require its own Matrix server? A: No. Cinny connects to any existing Matrix homeserver such as Synapse or Dendrite.

Q: Is end-to-end encryption enabled by default? A: E2EE is supported and can be enabled per room. Cinny follows the Matrix protocol defaults.

Q: Can I use Cinny on mobile devices? A: Yes. Cinny is a responsive web app and can be installed as a PWA on mobile browsers.

Q: How do I update a Docker deployment? A: Pull the latest image with docker pull ajbura/cinny:latest and restart the container.

Sources

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets