トラスト
セキュリティページの裏側にある技術的な詳細です。IT チーム、開発者、デューデリジェンスを行う方向けです。特に記載がない限り、ここにある項目はすべて現在実施しています。
最終更新日:2026年10月12日
ホスティングとデータの保管場所
- サーバー:英国のロンドンにあります。API、AI コネクター、ダッシュボード、公開サイトの配信を担い、アカウントのデータベースを保持しています。
- サイトのファイル:EU 内の耐久性の高いオブジェクトストレージに保管しています。このストレージが正本で、ロンドンのサーバーはキャッシュだけを持ちます。
- データベースのバックアップ:同じ EU 内のストレージにある、別のバケットに別の鍵で保管しています。
- エッジ:世界規模のネットワークが、訪問者の近くで公開ページを配信・キャッシュします。
- 英国・EU の外:ログイン、決済、メールのサービスは、一部のデータを米国で処理します。各社はサブプロセッサーのページに記載しています。
ネットワークと通信
pagelemon.comとpagelemon.devのすべてのホスト名は、DDoS 対策とエッジでの TLS を提供する世界規模のエッジネットワーク経由で配信されます。通常の HTTP は HTTPS にリダイレクトされます。- オリジンロック:当社のサーバーは、エッジネットワークが公開している IP 範囲以外からのウェブリクエストを破棄するため、オリジンに直接アクセスして迂回することはできません。
- エッジネットワークから当社のサーバーまでの区間も、オリジン証明書で暗号化されています。
pagelemon.comと、アプリ、API、コネクターの各ホストに HSTS(6 か月、サブドメインを含む)を設定しています。.devは HSTS プリロード済みのトップレベルドメインなので、ブラウザがユーザーのサイトにアクセスするのは常に HTTPS です。
サイトの分離とヘッダー
- 登録可能ドメインを分離。ユーザーのサイトは
*.pagelemon.devから配信され、アカウント、ダッシュボード、API はpagelemon.comにあります。ユーザーのサイトの Cookie やストレージが、アカウントのセッションに届くことはありません。 - マーケティングサイトには厳格な Content Security Policy(スクリプトは自社オリジンのみ、フレーム埋め込み不可)、ダッシュボードには
X-Frame-Options: DENYを設定しています。 - ユーザーのサイトは
X-Content-Type-Options: nosniff、厳格なリファラーポリシー、Cross-Origin-Opener-Policy: same-origin-allow-popups付きで配信されます。スクリプト、トラッカー、Cookie を挿入することはありません。無料プランのバッジはプレーンな HTML と CSS です。 - パスワード保護やメンバー限定のサイトは、共有キャッシュに保存されることはなく(
Cache-Control: private, no-store)、インデックスされることもありません。 - 不正利用でサイトが削除された場合は
Clear-Site-Data付きで配信されるので、訪問者のブラウザはキャッシュ、ストレージ、Service Worker を破棄します。 - サイトのパスワードは scrypt(サイトごとにランダムなソルト)でハッシュ化されます。訪問者のロック解除用 Cookie は HMAC で署名され、
HttpOnlyとSecureが設定されており、パスワードを変更すると古い Cookie はすべて無効になります。ロック解除の失敗にはレート制限があります。
サーバーの堅牢化
- SSH は指名された個人のキーでのみ可能で、パスワードログインと root ログインは無効です。ホストのファイアウォールは SSH と Web の通信だけを許可しています。
- 各サービスは非 root ユーザーとして専用のコンテナで動作し、読み取り専用のファイルシステム、すべての Linux ケーパビリティの削除、権限昇格の禁止、個別のメモリとプロセスの上限が設定されているため、1 か所の障害がほかを巻き込むことはありません。
- シークレットはサービスごとに分けています。アプリケーションはバックアップのキーを見られず、バックアップのジョブはログイン、決済、メールのキーを見られません。
- ストレージのキーは 1 つのバケットに限定され、サーバーの IP アドレスに固定されています。メールのキーは送信しかできません。
- すべてのリリースは、出荷前に自動テストを実行します。リリースイメージはサーバー外でビルドされ、1 コマンドでロールバックできるよう 1 つ前のイメージを保持しています。
- 管理ツールでのスタッフの操作は監査ログに記録され、重要なスタッフ操作には直近 10 分以内のログインが必要です。
バックアップ、バージョン、復旧
- データベースの継続的バックアップ:変更は数秒以内に EU 内のストレージへストリーミングされ、特定時点への復元ができます。
- 復元テスト:復元訓練で、バックアップからデータベースを再構築し、整合性チェックを実行します。最終実施日は 2026年10月12日で、合格しました。
- 削除ロック:最近のサイトファイルとデータベースのバックアップはバケットロックの対象で、サーバー自身のキーでも削除できません。
- 変更できないバージョン:公開のたびに、書き換えられない新しいバージョンができます。公開は参照先を切り替えるだけで、元に戻すのも 1 回の呼び出しで済みます。すべてのバージョンを 30 日間保存し、その後は週ごとの最後の 1 つを、プランに応じて Free の 7 日から Company の 2 年まで残します。
- 編集の消失なし:公開のたびに元にしたバージョンを指定します。その間に誰かが公開していた場合は、相手の作業を上書きせず、明確な競合として拒否されます。
- 古いデータの配信継続:オリジンが停止したりエラーを返したりしても、公開済みの公開ファイルは最大 7 日間エッジのキャッシュから配信できます。非公開サイトがキャッシュされることはありません。
- 監視:別サーバーの外部チェックが 5 分ごとに API、ダッシュボード、コネクターをテストし、障害時にはメールでアラートを送ります。保存ファイルが見つからない場合はアプリケーションがアラートを出します。
ログインとアカウントのセキュリティ
アカウントのログインは、専門のログインサービスが処理します。現在は次のとおりです:
- ログイン方法:メールのワンタイムコード、Google、またはパスワード。メールアドレスはコードで確認します。
- パスワード:15 文字以上。登録時とログイン時に、既知の漏えいパスワードと照合します。
- ログインの失敗が続くとアカウントをロックします。
- 私たちが受け取るのは署名付きのセッショントークンだけで、リクエストのたびに自社ドメインに対して検証します。アカウントのパスワードを見たり保存したりすることはありません。
メンバー限定サイトでは、訪問者は app.pagelemon.com でメールアドレスを使ってログインし、その後、サイトは使い捨てコードを受け取って独自の Cookie を発行します。サイト自体でログイン用スクリプトは実行されません。カード決済は当社の決済代行事業者が処理し、カード番号が当社のサーバーに触れることはありません。
AI 接続と API トークン
- AI アプリは PKCE(S256)とリソースインジケーター付きの OAuth で接続します。アクセストークンの有効期間は 1 時間、リフレッシュトークンは使うたびにローテーションされ、30 日間使われない接続は終了し、古いコードやリフレッシュトークンを再利用すると接続全体が無効になります。
- API トークンとサイトトークンは SHA-256 ハッシュとしてのみ保存されます。各トークンにはスコープ(
deploy、またはdeploy+manage)があり、1 つのサイトに限定でき、有効期限を設定でき、いつでも無効化できます。 - 人による承認:メンバーの招待、サイトのパスワード解除、サイト名の変更や譲渡では承認リンクが返され、アカウントのオーナーがログインした状態で開いて確定する必要があります。トークンだけでは実行できません。破壊的な操作は 2 段階です。
- 新しいトークンや AI 接続が追加されるたび、アカウント所有者のアプリ内通知にお知らせが表示され、通常はメールでも送信されます。
アップロードのチェック
- 漏えい防止:すべてのテキストファイルを、よく知られた種類のシークレットキーや秘密鍵がないかスキャンします。一致するとアップロード全体をブロックし、ファイルと行を報告します。
- バージョン管理のフォルダ、環境ファイル、依存関係のフォルダ、ソースマップ、キーファイルはスキップされ、配信されることはありません。
- アーカイブは展開中にサイズとファイル数の上限をかけて展開します。リンク、デバイス、絶対パス、
..を含むパスは拒否します。 - 匿名サイトと無料サイトは、内容をチェックした上で Web 用のファイルのみ受け付けます。プログラム、インストーラー、スクリプトは不可で、バイナリファイルは本当に画像、フォント、音声、動画、PDF、WebAssembly である必要があります。
- アカウントなしのアップロードは、ネットワークごとに制限されます。
フィッシングと不正利用
- 指定されたサイト名は、予約済みのもの、高リスクのブランド(銀行、決済、配送業者、暗号資産、政府、大手 IT 企業)をまねたもの(似せたつづりを含む)、よくあるフィッシング用の言葉を含むものは拒否します。それらのブランドをまねた独自ドメインも拒否します。
- アカウントに保存されていないサイトは 72 時間で期限切れになり、パスワード保護もできないので、審査から隠すことはできません。保存されていないサイトと公開から 7 日未満のサイトは
noindexを送信します。 - どなたでも pagelemon.com/report からあらゆるサイトを通報できます(すべてのサイトから /_pagelemon/report と security.txt 経由でもリンクされています)。通報はスタッフに届き、スタッフはサイトを直ちに停止し、アカウントを利用禁止にできます。スタッフの操作はすべて監査されます。
- ページでパスワード入力欄がサイトのプラグインの隣に置かれると、プラグインが警告を出し、無効にされることがあります。
メール認証
*.pagelemon.dev:null MX、v=spf1 -all、DMARCp=rejectを設定しているので、ユーザーのサイトのアドレスはメールを受信できず、なりすましにも使えません。- サイトの代わりに送るメールは
pagelemon.devから DKIM 署名付きで、厳格な DMARC(p=reject、厳格なアライメント)のもとで送信されます。私たち自身のメールはpagelemon.comから DKIM 署名付き、DMARCp=rejectで送信されるので、私たちのアドレスを偽ったメールは拒否されます。 - サイトのメールと私たち自身のメールは別のドメインを使っているので、悪用されたサイトのスパムがログインや請求のメールの配信に影響することはありません。
ログとデータの保持
- アプリ、API、公開サイトのアクセスログには、短縮した IP アドレスが保存され、認可ヘッダー、Cookie、クエリ文字列、秘密のリンクトークンは削除されます。当社のマーケティングサイトでは、どのリンクから来られたかを示す、クエリ文字列の
ref、invite、utm_の部分のみをログに残します。すべてのログは 30 日よりはるかに短い期間で入れ替わります。 - アカウントなしで公開されたサイトのアップロード元 IP アドレスは、30 日後に削除されます。
- 削除されたサイトのファイルは 7 日後に消去されます。どのサイトも zip でダウンロードでき、アカウントはご自身で削除できます。
認証
Page Lemon 自体は SOC 2 認証を取得していません。当社は、認証を取得している事業者のサービスの上に構築しています。それらの認証は各事業者のものであり、Page Lemon のものではありません。
当社のホスティング、エッジネットワーク、ログイン、決済、メールのサービスは、SOC 2 Type II や ISO/IEC 27001 などの第三者によるセキュリティ認証を取得している実績ある事業者が運営しており、決済代行会社は PCI DSS レベル 1 です。これらの事業者は Page Lemon よりはるかに大きな規模で運営されているため、容量も一緒に拡張されます。当社自身の段階的な拡張計画も文書化されており、実測した負荷を基準に実行されます。データを扱う各社はサブプロセッサーのページに記載しています。
未対応の項目
見つけられる前に、正直にお伝えします:
- Public Suffix List:
pagelemon.devはまだ Public Suffix List に登録されていません。登録されるまで、ブラウザは Cookie に関してpagelemon.dev上の隣り合うサイトを同じサイトとして扱います。アカウントはpagelemon.comにあるので影響はありません。登録申請は準備中です。 - Page Lemon のアカウントでは、2 段階認証によるログインはまだ提供していません。
- Page Lemon 自体は SOC 2 や ISO 27001 の認証を取得していません。
脆弱性を報告する
support@pagelemon.com までメールでご連絡ください。他人のデータへのアクセス、サービスの妨害、修正前の詳細の公開はご遠慮ください。これらのルールに従った誠実な調査に対して法的措置をとることはありません。ご希望があれば、お名前を掲載して謝意を表します。連絡先は security.txt にも記載しています。
有害なサイトを報告する場合は、サイトを報告をご利用ください。