オープンソース
私たちのプロジェクト
Forward Email チームが、メールサービスと並行して開発しているオープンソースのサイトとツールです。

Privacy Ratings
メールプロバイダー、VPN、ブラウザー、パスワードマネージャーなどを、公開されたプライバシー基準で評価します。肯定的な回答にはそれぞれ確認できる根拠へのリンクがあり、定期スキャンで各ホスト型サービスのセキュリティをテストします。
開発した理由
多くのプライバシー関連リストは少数のボランティアに頼っており、掲載基準も公開していません。Forward Email は事業としてこのリストを支援しており、自社の評価も他のすべての項目と同じ公開基準に従っています。

Spam Scanner
Node.js、コマンドライン、Postfix などのメールサーバー向けのスパムフィルターです。あらゆる言語のスパム、フィッシング、詐欺、マルウェアを検出し、判定のたびにその理由を説明します。
開発した理由
Forward Email はメッセージ内容のログを一切保存しないため、外部のフィルタリングサービスにメールを渡すことはできませんでした。そこで、自社サーバー上で動作し、誰もメールを読むことなく判定理由を説明できるフィルターを開発しました。

Attestium
リモートアテステーションのための Node.js ライブラリです。サーバーが実行しているコードの証拠を収集し、コミット、署名付きリリース、バージョン固定されたパッケージなどの公開された参照と照合します。
開発した理由
私たちのコードはオープンソースです。Attestium を使えば、本番サーバーがそれと同じコードを実行していることを確認できます。結果は、ステータスページ上の Audit Status で公開しています。

Terminal Email
Linux、macOS、Windows、BSD、Android のターミナルで動作するメールクライアントのディレクトリです。それぞれのインストールコマンド、対応機能、動作する設定を掲載しています。
開発した理由
Forward Email には独自のターミナルアプリがあり、ディレクトリで紹介しています。他のすべてのクライアントにも同じ情報と Forward Email 用の設定が掲載されており、どのメールプロバイダーでも利用できます。

Alumni Email
大学が卒業生に、学校のドメインの生涯メールアドレスを提供するためのガイドです。メールは各卒業生がすでに使っている受信トレイに転送されます。
開発した理由
すでに複数の大学が Forward Email で卒業生向けメール転送を運用しています。このガイドでは、同じ移行を検討する IT チームに向けて、設定、費用、私たちのケーススタディを順に説明します。

Time to Inbox
受信トレイ到達時間(TTI)のガイドです。メールが受信トレイに届くまでの時間、その測定方法、配信を遅らせる要因を解説します。
開発した理由
Forward Email は自社の受信トレイ到達時間を測定し、結果をリアルタイムで公開しています。このガイドではその数値の裏にある手法を説明しているので、どのプロバイダーでも同じ方法でテストできます。

Server Auditing
Linux サーバーで Lynis のセキュリティ監査を実行し、SSH ログインの失敗、開いているポート、ディスク使用量を確認して、レポートをメールで送信する無料の Bash スクリプトです。
開発した理由
このスクリプトは SMTP 経由で(デフォルトでは Forward Email を通じて)レポートを送信するため、各サーバーにログインしなくても受信トレイから確認できます。

SSH Monitor
認証ログまたはジャーナル内の SSH ログイン失敗回数を数え、しきい値を超えるとメールで通知する無料の Bash スクリプトです。
開発した理由
このスクリプトは Forward Email API への 1 回のリクエストでアラートを送信します。どのサーバーの cron ジョブからでも簡単にメールを送信できる方法です。

SSL Monitor
SSL/TLS 証明書を毎日チェックし、いずれかの有効期限が切れる前にメールで知らせる無料の Bash スクリプトです。
開発した理由
このスクリプトは Forward Email API またはローカルの sendmail を通じてレポートをメールで送信するため、証明書の期限切れが近いことを訪問者より先に知ることができます。

Tangerine
Node.js の DNS リゾルバーをそのまま置き換えられるライブラリです。DNS over HTTPS (DoH) で名前解決を行い、リトライ、タイムアウト、サーバーのローテーション、キャッシュに対応しています。
開発した理由
当社のメールサーバーは、メッセージごとに MX、SPF、DKIM、DMARC レコードを検索します。Tangerine はこれらの検索を HTTPS で暗号化して送信し、応答をキャッシュするため、プライバシーが守られ、高速に処理できます。

Bree
Node.js 向けのジョブスケジューラーです。各ジョブを専用のワーカースレッドで実行し、cron 式、日付、間隔、または人間が読みやすい時間表現で実行タイミングを指定できます。同時実行数の制限とグレースフルシャットダウンにも対応しています。
開発した理由
Forward Email は、DNS チェックから更新リマインダーまで、数十のバックグラウンドジョブを実行しています。Bree は別のキューサービスを使わずに自社サーバー上でこれらを実行し、失敗したジョブがあっても他のジョブは止まりません。

Cabin
JavaScript および Node.js 向けのログライブラリです。Express、Koa、Lad アプリやブラウザからのリクエストとエラーを記録し、Slack、Sentry、Datadog、Papertrail、または独自のエンドポイントに送信できます。
開発した理由
ログから個人データが漏れることがあります。Cabin は、何かが書き込まれる前にパスワード、カード番号、トークンなどの機密フィールドをマスクします。そのため当社は、ログをロギングサービスに渡すことなく、自社のサーバーで保管しています。

Lad
Koa をベースにしたフルスタックの Node.js フレームワークです。Web サーバー、API サーバー、Bree ジョブスケジューラー、翻訳、メールテンプレート、セキュリティ設定が最初から用意されています。
開発した理由
Forward Email は Lad で構築されています。当社の Web アプリと API を支えるフレームワークはオープンソースなので、誰でも同じ基盤からプロジェクトを始められます。

Lass
テスト、リンティング、フォーマット、コミットチェック、README、ライセンスがあらかじめ設定された新しい Node.js パッケージを作成するコマンドラインツールです。
開発した理由
当社は Tangerine、Bree、Cabin をはじめ、多くの npm パッケージを管理しています。Lass は新しいパッケージを毎回同じ方法で作成するため、どのパッケージも最初のコミットから同じテストとチェックを備えています。