記事概要
Discordなどのチャットサービスは手軽にサーバーを作れますが、メッセージや個人情報を含むチャットデータはサービス提供者のインフラ上で管理されるため、社内の機密情報を扱う場合はデータの保存先や管理方法が課題になります。GIGAZINEの記事で紹介されている「Chatto」は、セルフホスト可能で数十MB程度のRAMから軽快に動作し、メッセージ本文などを暗号化して保存できるチーム/グループチャットアプリです。
Chattoの3つの特徴
- 消費リソースが極めて少ない:実測でメモリ利用量わずか 45.1MB。数十MB程度のRAMで軽快に動作
- メッセージ本文などを保存時に暗号化:暗号化と改ざん検知を同時に行える「ChaCha20-Poly1305」で暗号化して保存
- ユーザーごとに暗号鍵を付与(Crypto Shredding):アカウント削除時に暗号鍵を破棄し、暗号化済みデータを復号不能に。バックアップや履歴にデータが残っていても、鍵が失われた時点で内容は復号不可
利用方法
- Windows・macOS・Linux専用デスクトップクライアント、もしくはブラウザでChattoサーバーのURLに入力して接続
- 「Create Account」→ メールアドレス入力 → メールで届いた認証コード入力 → ユーザー名・パスワード設定で管理者アカウント作成
- 初期画面で参加したいLobbyの「Join」をクリックすればチャット参加完了
主な機能
| 機能 | 内容 |
|---|---|
| ロールと権限管理 | Owner・Admin・Moderatorなどのロールで、ユーザーやルームごとに操作権限を細かく設定 |
| SSO | OIDC・GitHub・Google・Discordなどの外部認証と連携し、既存アカウントでログイン可能 |
| 音声・ビデオ通話 | LiveKitを利用。チャットルームからそのまま会話を開始できる |
| GraphQL API | API経由でChattoの機能やデータへアクセスし、外部ツール連携や独自機能開発が可能 |
| NATS API | 内部利用のNATS経由の連携機能で、イベント駆動型の外部システムと組み合わせ可能 |
| その他 | 画面共有・全文検索・通知・PWA・バックアップに対応 |
サーバーのインストール方法(Windows版)
- GitHubリポジトリのReleasesページから「chatto_Windows_x86_64.zip」をダウンロード・展開
- コマンドプロンプトでフォルダーに移動し、初期化コマンド
chatto.exe initを実行 - アカウント作成時の認証コード用に、設定ファイル
chatto.tomlの[smtp]ブロックにメールサーバー情報を記入:
[smtp] enabled = true host = 【SMTPサーバー】 port = 【SMTPポート】 tls = 【TLS方式】 from = 【送信元アドレス】
- 起動コマンド
chatto.exe runを実行。ログに接続先URLが表示されればサーバー起動完了
クライアントはReleasesページから「chatto-desktop_【バージョン】_Windows_X64.zip」をダウンロード・展開し、「chatto-desktop.exe」を起動するだけです。
LAN内ならバイナリ版、インターネット公開ならDocker版
LANやVPN内で試す場合はWindowsバイナリ版で十分ですが、インターネットへ公開する場合はDocker版が推奨されています。独自ドメインやHTTPS・NATS・LiveKitなどを分離して管理でき、外部公開に必要なネットワーク設定やセキュリティ対策も行いやすいとのこと。
Hacker Newsでの評価
- 「Vibe codingと、経験豊富な開発者が設計判断を行いながらAIに実装を任せるAgentic Engineeringは別物」という文脈で、AIエージェント活用開発の好例として評価されている
- 「モバイルアプリが欲しい」という要望が多数。作者は「今のところ優れたPWA体験の提供に全力注力中。いずれPWAのラッパーとして提供予定」と回答
まとめ
機密情報を扱う組織で「チャットデータを自社管理下に置きたい」ニーズに応える選択肢として、超軽量・暗号化・セルフホストの3拍子が揃ったChattoはかなり有力な候補と言えそうです。Discord/Slack的な用途を自前サーバーで賄いたいケースで検討する価値があります。