バージョン: 1.0 · 日付: 2026年 · 運営者: László Zsidi (ハンガリー) ·
連絡先: laszlo@zsidi.hu
1. はじめに
session.emailは、ゼロログ・ゼロ永続性の原則に基づく、プライバシーを最優先した一時的なEメールサービスであり、Eメールの受信専用に設計されています。システムはユーザーの通信が永続的に保存されることがないよう保証し、すべてのデータは厳格なTTL(生存時間)値と共にRAM上で厳密に処理されます。
本サービスは3つの主要な柱に基づいています:
- プライバシー:ログなし、ディスクI/Oなし、メタデータ収集なし。
- 技術アーキテクチャ:RedisベースのRAM管理、SSEストリーミング、分離されたクライアントサイドサンドボックス。
- セキュリティ:KVM分離、OpenSMTPD強化、Fail2ban、ECC PGPキー。
本ドキュメントでは、session.emailの運用、セキュリティモデル、およびプライバシー保証について詳しく説明します。
2. インフラストラクチャと環境
2.1. 物理および仮想環境
- VPSプロバイダー: RackNerd
- 場所: 米国
- 仮想化: KVM(ハードウェア分離)
- メモリ: 1 GB RAM + 1 GB スワップ
- オペレーティングシステム: Debian 12
- ファイアウォール: UFW – ポート22 (SSH) を含むすべての未使用ポートは閉鎖
- SSH: 非標準ポート、総当たり攻撃保護
KVM仮想化により、メモリバウンドな操作が他のVPSインスタンスから完全に分離された環境で実行されることが保証されます。
3. ソフトウェアアーキテクチャ
3.1. 主要コンポーネント
- Caddy: HTTP/2およびHTTP/3 (QUIC) リバースプロキシ。
- OpenSMTPD: SMTP通信の受信(インバウンド)専用。
- Goバックエンド: メッセージ処理、Redis統合、SSEストリーミング。
- Redis: インメモリデータ管理、TTLベースの削除、永続性なし。
-
GoatCounter: 自己ホスト型、Cookieなし、プライバシーに配慮した分析ツール (
analytics.session.email
)。
- Fail2ban: OpenSMTPDおよびCaddy 404イベント保護用に構成。
4. データフロー
[OpenSMTPD] → [Goバックエンド] → [Redis (RAM)] → [SSEストリーム] → [分離されたIframe] → [Purify.js + Sanitizer]
4.1. SMTP受信
- OpenSMTPDが着信メールを受信。
- 最大メッセージサイズ: 25 MB – これを超えるメッセージは拒否。
- 過負荷や不正利用を防ぐため、IPレート制限が有効。
- アウトバウンドSMTPは完全に無効化 – 本サービスはメールを送信しません。
4.2. バックエンド処理
Goバックエンドは以下のメッセージ処理を担当します:
- ヘッダーおよびボディの解析、「メッセージのサニタイズ」。
- メッセージは厳格なTTL付きでRedisを介してRAMに保存されます。
- メッセージはSSE(Server-Sent Events)チャネルを通じてクライアントのブラウザにストリーミングされます。
4.3. Redisの運用
- AOF (Append Only File): 無効 (
appendonly no)。
- RDBスナップショット: 有効ですが、システムはメールを永続的に保存せず、RedisはRAM上でのみ動作します。
- アクセス:
127.0.0.1:6379のみ、パスワード保護済み。
- IPレートBAN: Redisレベルでも適用。
4.4. TTL値
- 無料アドレス: 15分TTL(クライアントサイドの再接続保護)。
- プレミアムアドレス: 1時間TTL。
- セッションCookie: 1時間。
すべてのデータはTTL期限切れとともに自動的に削除されます。手動削除を待つ永続的なデータはありません。
5. ゼロ永続性の保証
session.emailの運用中、以下が保証されます:
- メールをディスクに書き込まない。
- メールスプールやMaildir構造を作成しない。
- 着信メッセージのログファイルを保存しない。
- IPアドレス、ユーザーエージェント、タイムスタンプを永続的に保存しない。
- プロファイリングを行わず、ユーザーデータベースを構築しない。
システムはRedisのTTLメカニズムに依存し、RAM上でのみ動作します。TTL期限切れ後、データは自動的かつ不可逆的に削除されます。
6. クライアントサイドのセキュリティ
6.1. 分離されたIframe
メールはメインドキュメントから分離された、サンドボックス化されたIframe内で表示されます。
6.2. サニタイズと追跡保護
- HTMLコンテンツをサニタイズするためのpurify.jsの使用。
- 追跡用ピクセルや不審な要素を除去するためのカスタムサニタイズロジック。
- セキュリティ向上のためのHTMLからプレーンテキストへの表示切り替えオプション。
このアプローチにより、XSS、CSRF、リモートリソースの読み込み、およびその他のクライアントサイド攻撃のリスクを低減します。
7. プレミアムPGP機能
プレミアムユーザー向けに、session.emailはセッションバインドかつメモリ内専用のPGP暗号化を提供します。
- アルゴリズム: ECC, Curve25519。
- ライブラリ:
openpgp.min.js。
- キー生成: 各セッションでユニークなキーペアを生成。
const { privateKey, publicKey } = await openpgp.generateKey({
type: 'ecc',
curve: 'curve25519',
userIDs: [{ name: 'Session User' }],
});
秘密鍵はRAM上にのみ存在し、決してディスクに書き込まれず、セッション終了時に自動的にローテーションおよび削除されます。ユーザーは、自分宛てのメッセージを暗号化するために使用できる公開鍵を受け取ります。
8. 分析ツール (GoatCounter)
session.emailは、最小限かつプライバシーに配慮した分析ツールのみを使用します:
- ツール: GoatCounter。
-
場所: 自己ホスト型VPS、
analytics.session.email
ドメイン。
- 収集データ: ページビュー統計のみ。
- 除外事項: 追跡用Cookieなし、フィンガープリントなし、サードパーティへのデータ共有なし。
9. 決済システム (Paddle)
プレミアム機能の支払いはPaddleを通じて処理されます。
- Paddle Webhookを使用して取引ステータスを確認します。
- session.emailサーバーは決済データを永続的に保存しません。
- Paddleはセキュリティおよび取引管理目的で独自のCookieを使用する場合があります。
- サーバーは取引に必要なメールアドレスのみを確認しますが、これも長期保存はされません。
10. セキュリティモデル
10.1. 脅威モデル
- 総当たり攻撃 / SSH攻撃: 非標準SSHポート、UFW、Fail2ban。
- SMTPフラッド: OpenSMTPD IPレート制限、最大25 MBメッセージサイズ。
- Redis攻撃: ローカルホストアクセスのみ、パスワード保護、ファイアウォール内。
- XSS / HTML攻撃: 分離されたIframe、purify.js、サニタイズロジック。
- 追跡 / メタデータ漏洩: 追跡ピクセルのフィルタリング、HTMLからプレーンテキストへの表示。
- ディスクフォレンジック: ディスク書き込みなし、メールスプールなし、ログなし。
10.2. 攻撃表面の最小化
- アウトバウンドSMTPなし。
- ユーザーアカウント、パスワード、永続データベースなし。
- 大量データ取得用APIなし。
- すべてのデータはTTL付きでRAM上に存在し、自動削除される。
11. 比較表
| 領域 |
ソリューション |
ステータス |
| データ保存 |
RAMのみ (Redis + TTL) |
✔ ゼロ永続性 |
| ロギング |
完全に無効、ディスクI/Oなし |
✔ ゼロログ |
| SMTP |
OpenSMTPD 受信のみ、25 MB制限 |
✔ アウトバウンド無効 |
| Web |
Caddy, HTTP/2 + HTTP/3 (QUIC) |
✔ モダンプロトコル |
| 分析ツール |
GoatCounter, 自己ホスト, Cookieなし |
✔ プライバシー対応 |
| PGP |
ECC Curve25519, セッションバインド, メモリ内のみ |
✔ プレミアム暗号化 |
| 仮想化 |
KVM, 分離VPS |
✔ ハードウェア分離 |
| セキュリティ |
Fail2ban, レート制限, UFW |
✔ アクティブ保護 |
12. 結論
session.emailは、以下の特徴を持つ使い捨てEメールサービスです:
- データを永続的に保存しない。
- ログを取得しない。
- ディスクに書き込まない。
- メタデータを収集しない。
- 送信メールを許可しない。
- 厳格なTTLに基づきRAMでのみ動作する。
- プレミアムユーザー向けにPGP暗号化を提供。
- モダンで安全なアーキテクチャ(KVM、Caddy、OpenSMTPD、Redis)で実行。
- 厳格なクライアントサイドのサンドボックス化およびサニタイズを適用。
本システムはプライバシーバイデザインおよびデータ最小化の原則を遵守し、ユーザーの匿名性とデータセキュリティに対して技術的に極めて強力な保証を提供します。