機関向け
セキュリティとデータ保護
契約前に情報システム部門やデータ保護責任者がよく尋ねることに、実際のありのままでお答えします。
アーキテクチャ
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条)とこれらの情報をまとめた技術資料を用意します。
資料が必要ですか?
データ処理契約、技術資料、アクセシビリティ声明、あるいは情報システム部門との打ち合わせ。ご依頼いただければお送りします。