概要
Notesnookは、Evernote代替を掲げるオープンソースのノートアプリです。Web・デスクトップ・Android/iOSを同じデータモデルで使いながら、同期前に端末側でノートを暗号化するzero-knowledge設計を採用しています。公式サーバーを使うだけでなく、自前のsync/auth/events/monograph基盤へクライアントを向けるセルフホスト構成も用意されています。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
ノートを端末側で暗号化し、サーバーにはciphertextだけを送る
公式ドキュメントでは、各itemを同期前にXChaCha20-Poly1305-IETFで暗号化し、passwordからArgon2iでmaster keyを導出すると説明しています。server login用password hashにはArgon2idを使い、実際のpasswordと復号keyは端末外へ出ません。サーバーが受け取るのは暗号化済みblobだけというzero-knowledge設計です。
出典:[2]
Web・desktop・mobileを同じmonorepoで揃え、clipperと共通crypto/coreも公開する
このrepositoryにはWeb client、Electron desktop、React Native mobile、Web Clipper、shared core、crypto wrapper、editorなどが同居しています。READMEではfront-endをReact、mobileをReact Native、desktopをElectronで構成し、TypeScriptへの移行を進めていると説明しています。プラットフォームごとに別製品ではなく、共通coreと暗号化実装を持つclient群として追えるのが特徴です。
公式クラウドから離れ、4つのserver endpointを自前環境へまとめて切り替えられる
Notesnookの各clientはsync、auth、events/SSE、monographの4 URLを自前serverへ変更できます。self-hosting guideではLinux上にDocker Composeでserver群を起動し、client側で4 URLをtestして保存する構成を案内しています。E2EEはself-host時も維持されるため、暗号化済みdataをNotesnookのmachineへ置かずに運用できます。
出典:[3]
Evernote型の使い勝手を残しつつ、暗号化とserver運用の主導権を持ちたい人に
複数端末で同じノートを使いたい一方、providerが平文を読めない設計を重視する人、Web・desktop・mobileを横断したい人、必要ならsync infrastructureまで自組織へ寄せたい人に向きます。clientとcrypto実装が公開されているため、暗号化やstorageの挙動をsourceから確認したいチームにも比較価値があります。
passwordとrecovery keyを両方失うと復号できず、E2EEはbackup責任も利用者側へ移す
zero-knowledge設計の裏返しとして、passwordとaccount recovery keyの両方を失った場合はNotesnook側でもノートを復号できません。導入時はrecovery keyを安全に保管し、clientやserver障害とは独立したbackupを用意する必要があります。
出典:[2]
セルフホストは単一containerではなく、server群・HTTPS・SMTP・backend切替手順まで運用対象になる
公式self-host guideはLinux、Docker、Docker Composeを前提にし、最低1GB RAM・20GB storageを案内しています。password resetやemail-based 2FAを使う場合はSMTPも必要です。browser/mobile利用ではHTTPSが必要になり、sync/auth/events/monographの4 serverはすべて自前側へ揃える必要があります。
既存の公式backendからself-hostへ切り替える際は、先にbackupを取り、logoutしてserver URLを変更し、自前instance側で新しいaccountを作成してbackupをrestoreします。account自体をbackend間で移動する機能ではありません。またserver実装は別repositoryのnotesnook-sync-serverから取得します。client repository本体はGPL-3.0です。
参考にした公式資料
- [1]streetwriters/notesnook — README(2026-09-15)
- [2]Notesnook Help — How does Notesnook encrypt my notes?(2026-09-15)
- [3]Notesnook Help — Self-hosting(2026-09-15)
- [4]Notesnook Desktop — README(2026-09-15)
- [5]streetwriters/notesnook — LICENSE(2026-09-15)
編集部からの補足
「プライバシー重視」を宣言するだけでなく、暗号化方式・keyの置き場所・serverが受け取るデータまで公開している点を評価しました。セルフホスト時は4 serverを一体で運用する必要があり、recovery keyとbackupを含めて設計できるかが導入判断の要点です。
3ステップで試す
- 1
Composeと.envを取得
公式self-hosting guideに沿って、server stackのdocker-compose.ymlと.envを取得します。
mkdir notesnook-sync-server && cd notesnook-sync-server && wget https://raw.githubusercontent.com/streetwriters/notesnook-sync-server/master/docker-compose.yml && wget https://raw.githubusercontent.com/streetwriters/notesnook-sync-server/master/.env - 2
.envを設定
生成した値をNOTESNOOK_API_SECRETへ設定し、INSTANCE_NAME・public URLsを自分の環境へ合わせます。password resetやemail 2FAを使う場合はSMTPも設定します。
openssl rand -hex 32 - 3
server群を起動
7 containersがhealthyになることを確認します。その後client側でsync/auth/events/monographの4 URLを設定してTest connectionを実行します。
docker compose up -d && docker compose ps
成長
成長の推移 · 直近30日
14,594 Stars
推移データを蓄積中です。
開発アクティビティ
直近90日・週次
- Commit(直近30日)
- 76
- Open PR
- 100
開発アクティビティを蓄積中です。
Built with
カテゴリとタグ
GitHubデータ
あわせて探訪
- n8n204,350 Stars
視覚的なキャンバスとコードを組み合わせ、サービス連携やAIエージェントを自動化するfair-code基盤。
TypeScript - Oh My Zsh189,729 Stars
Zshの設定をプラグイン、テーマ、自動更新の仕組みで管理するコミュニティ製フレームワーク。
Shell - Ollama181,014 Stars
オープンモデルをPCやサーバーで取得・実行し、CLIとローカルAPIから利用するランタイム。
Go - AUTOMATIC1111 Stable Diffusion WebUI164,915 Stars
Stable Diffusionの画像生成・編集、モデル切替、拡張、APIをブラウザで操作するGradio製UI。
Python - Dify155,790 Stars
AIワークフロー、RAG、エージェント、モデル管理、観測を視覚的に統合するLLMアプリ開発基盤。
TypeScript
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。