本文へ移動
andarama

機関向け

セキュリティとデータ保護

契約前に情報システム部門やデータ保護責任者がよく尋ねることに、実際のありのままでお答えします。

アーキテクチャ

andarama.comはCloudflare上で動いています。WorkerがAPI、Studio、ツアーを配信し、データベースはD1(マネージドSQLite)、メディアとタイルはR2(オブジェクトストレージ)に保存されます。KVは短期間だけ使う技術データを保持し、Durable Objectsがリアルタイムの共同編集とライブツアーを調整します。アカウント、ログイン、決済はClerkが担当します。ツアーの訪問アナリティクスは自前でCookieなし、ウェブサイトのアナリティクスはPlausibleです。

データの所在地

  • データベース(D1)とメディア(R2):西ヨーロッパにあるCloudflareのデータセンター。作成時に選んだ所在地で、欧州連合の法域としても固定できるよう作業を進めています。
  • 実行:コードはCloudflareのネットワーク上で、訪問者にいちばん近いデータセンターで動きます。
  • KV:ネットワーク全体に複製される一時的な技術データ(閲覧セッション、公開ポインター)。
  • アカウントと決済:米国のClerk(メールアドレス、名前、セッション、請求情報)。ツアーとメディアはClerkを経由しません。
  • サイトのアナリティクス:欧州連合のPlausible。CookieもIPアドレスも使いません。

すべてを自組織内に置く必要がある場合は、同じアプリケーションを機関自身のインフラにインストールできます(下記参照)。

暗号化

すべての通信はTLSとHSTSによるHTTPSです。CloudflareはD1データベースとR2のオブジェクトを保存時に暗号化します。パスワードやサービスのシークレットは平文で保存せず、APIトークンはハッシュとして保存します。

アクセスと認証

andarama.comではアクセスをClerkが管理し、2段階認証が使えます。アプリケーションの中では、組織に役割(管理、編集、協力、閲覧)があり、すべてのルートでサーバー側で権限をチェックします。セルフインストール版では、さらに2段階認証(TOTP)付きのローカルアカウントと、OIDCによる機関SSOが使えます。

アプリケーションの保護

nonce付きのコンテンツセキュリティポリシー(CSP)、ダブルトークンのCSRF対策、レート制限、フォームの不正利用を防ぐTurnstile、SVG・Markdown・CSSのサニタイズ、そして管理操作の監査ログ。継続的インテグレーションは、変更のたびにテストと依存関係の監査を実行します。

バックアップ

D1では、Cloudflareが提供する期間内であれば、データベースを特定の時点に復元できます(Time Travel)。また管理パネルからデータベースの完全なコピーをエクスポートできます。R2のメディアには自動のバージョン管理がありません。そのため、写真の原本を保管し、重要なツアーはエクスポートしておくことをおすすめします。

監査できるコード

完全なコードがGitHubでEUPL-1.2のもとに公開されており、データがどう扱われているかを誰でも確認できます。脆弱性は、リポジトリのSECURITY.mdファイルに従って非公開でご報告ください。詳しくはオープンソースのページで。

移行計画

作ったものが閉じ込められることはありません。ツアーはいつでも、Andaramaなしで動く静的ZIP、単一HTML、PWAとして、また.andaramaファイルとしてエクスポートできます。tour.json形式は文書化されています。そして同じアプリケーションを機関のインフラ(Docker、自分のCloudflareアカウント、デスクトップ用実行ファイル)にインストールできるので、ホスティングサービスの契約をやめた日も、仕事は続きます。

(まだ)持っていないもの

Andarama自体は、Esquema Nacional de Seguridad(ENS、スペインの国家セキュリティ基準)の認証もISO 27001の認証も持っていません。CloudflareとClerkは事業者としてそれぞれの認証を持っています。機関がENSを求める場合、そのインフラへのセルフインストールは機関自身のENSの管理下に入ります。ご要望に応じて、データ処理契約(GDPR第28条)とこれらの情報をまとめた技術資料を用意します。

資料が必要ですか?

データ処理契約、技術資料、アクセシビリティ声明、あるいは情報システム部門との打ち合わせ。ご依頼いただければお送りします。