セキュリティ
私たちはインフラです。 録画は当社を通過しますが、当社の所有物にはなりません。
meetbot はお客様の会議に参加する bot であり、テープを保管する倉庫ではありません。お客様の録画は当社のコンテナを経由してお客様のバケットに到達します。以下、実際の仕組みを説明します。
Working draft pending counsel review. Compliance posture below is current as of 2026-05-10; certifications listed as "planned" or "in progress" are not yet issued. For a signed DPA or NDA-bound trust packet, email security@meetbot.dev.
Last updated 2026-05-10
アーキテクチャ
アーキテクチャ
エンドツーエンドのデータフロー。お客様がバックエンドから dispatch を起動 → 当社コンテナ内の bot が会議に参加 → 話者ごとの音声がキャプチャ次第お客様の S3 バケットへストリーム → 通話の確定時に署名付き webhook がお客様のエンドポイントに到達。
データフロー
┌──────────────┐ POST /api/v1/bot ┌─────────────────────┐
│ your app │ ────────────────────────────────▶ │ meetbot api edge │
│ backend │ ◀──── 200 { bot_id, status } ─────│ (cloudflare → eu) │
└──────┬───────┘ └──────────┬──────────┘
│ │
│ webhook (HMAC-SHA256) │ enqueue
│ ▼
│ ┌─────────────────────┐
│ │ orchestrator (eu) │
│ │ picks platform pod │
│ └──────────┬──────────┘
│ │ spawn
│ ▼
│ ┌─────────────────────┐
│ │ bot container │
│ │ meet · teams · zoom│
│ └──────────┬──────────┘
│ │
│ per-speaker audio, │
│ captions, chat, video │
│ ▼ │
│ ┌─────────────────┐ │
│ │ YOUR S3 bucket │ ◀──────────┘
│ │ (you own it) │ multipart upload
│ └────────┬────────┘
│ ◀──── webhook: meeting_ended, files_ready ────┘
▼
┌──────────────┐
│ your handler │
└──────────────┘私たちはインフラです。お客様の録画は通信中に当社を通過しますが、当社の所有物になることはありません。S3 バケットはお客様自身のもの (AWS / R2 / MinIO アカウント上) で、当社が保持する認証情報は指定された単一プレフィックスに対する PutObject + AbortMultipartUpload に限定されます。
暗号化
暗号化
- in transit
顧客向けの全エンドポイントと bot↔プラットフォーム接続では、通信中に TLS 1.3 を使用。
- at rest
OAuth トークンと webhook シークレットは保管時に AES-256-GCM で暗号化。Hetzner の暗号化ボリューム層上のデプロイ単位マスターキーから派生。
- roadmap
テナント単位 KMS によるトークン保管は M5 ロードマップ (2026年Q4) 予定。それまではテナントトークンを行レベルで論理的に分離し、マスターキーは共有します。
保持期間
保持期間
bot 単位の保持期間は設定可能: 0日 (デフォルト — お客様バケットへ送出後、当社の一時ボリュームから削除)、N日、または永続。本番ユーザーの大半は 0 を選択します。「永続」は、ディスクよりも監査トレイルが重要なコンプライアンスパイプライン向けです。
bot dispatch の監査ログはデフォルトで 90日保持され、いつでもダッシュボードからエクスポートできます。
保持期間設定 · ドキュメント監査 + コンプライアンス
監査 + コンプライアンス
正直な表です。「進行中」「予定」と書かれた行もあります。保有していない認証を主張することはしません。
| 管理項目 | 状態 | 目標 | 備考 |
|---|---|---|---|
| SOC 2 Type 1 | in progress | 2026 H2 | Engagement signed; gap assessment underway with our auditor. Vanta deployed; controls being instrumented. |
| SOC 2 Type 2 | planned | 2027 H2 | 12-month observation window opens once Type 1 is issued. No certification today. |
| ISO 27001 | planned | 2027 H2 | Sequenced after SOC 2 Type 2; same control overlap. No certification today. |
| HIPAA BAA | no formal cert today | enterprise contract on request | We can sign a BAA template on enterprise contracts as a contractual commitment — but we hold no formal HIPAA certification today and don't claim one. Don't deploy meetbot on a HIPAA-regulated workload that needs a third-party attestation now. |
| GDPR | in scope | EU-hosted by default | DPA template at /dpa-template.pdf (pending counsel finalisation). No statutory DPO appointed (not required at our scale per Art. 37); privacy@meetbot.dev acts in that capacity. EU establishment in Berlin (DE). |
| PCI DSS | n/a — Stripe-handled | — | We never see card numbers; Stripe Checkout + Stripe-hosted billing portal handle PCI scope. |
アクセス制御
アクセス制御
Better Auth の organization プラグインがアカウントモデルを支えます。各お客様は organization で、admin · member · billing のロールを持ちます。管理者操作の監査ログはダッシュボードに表示されます。
本番環境への内部アクセス: 2名 (Pavel + オンコール)。すべての SSH アクセスは Tailscale が発行する短命証明書経由で、長期キーは存在せず、完全な監査ログがあります。
脆弱性開示
脆弱性開示
security@meetbot.dev までメール — PGP キーはご請求ください。well-known 仕様に従い /.well-known/security.txt を公開しています。bug bounty プログラムは M5 ロードマップ。それまでは、報告者の許可を得て重要な発見を公に謝意表明します。
インシデント対応
インシデント対応
公約: 24時間以内に /blog および @meetbot ソーシャルアカウントで公開。Severity-1 インシデントは当日中、それ以外は 7日以内に post-mortem を公開。/uptime からリンクします。
より深く知りたいですか? security@meetbot.dev までメール — (進行中の) トラストポータルをお送りします。