Contriは「事業の数字」というセンシティブな情報をお預かりするサービスです。セキュリティは「実装している」だけでなく、お客様に「見える形で明示」してこそ意味があると考えています。
1. データ保護
暗号化
| 対策 | 方式 | 備考 |
|---|---|---|
| 通信暗号化 | HTTPS(TLS 1.3) | 全通信を暗号化 |
| 保存時暗号化 | AES-256 | ディスクレベル暗号化 |
| パスワード | bcryptハッシュ | 復号不可能。当社スタッフも閲覧不可 |
アクセス制御
| 対策 | 詳細 |
|---|---|
| Row Level Security(RLS) | 全テーブルでユーザーデータを完全隔離 |
| 二段階認証(2FA) | TOTP(Google Authenticator等)対応 |
| パスワードポリシー | 最低8文字、英数字必須 |
| 漏洩パスワード検出 | HaveIBeenPwned連携 |
| APIレート制限 | AI機能: 20リクエスト/分/ユーザー |
| 外部サービス連携 | OAuth 2.0による認可。HMAC署名付きstateパラメータ + httpOnly Cookie nonceでCSRF防止。トークンはサーバーサイドのみ保持(フロントエンドに一切渡さない)。読み取り専用スコープのみ使用 |
通信セキュリティ
| 対策 | 詳細 |
|---|---|
| Content Security Policy(CSP) | XSS攻撃を防止する厳格なポリシーを設定 |
| X-Frame-Options | DENY — クリックジャッキング攻撃を完全に防止 |
| X-Content-Type-Options | nosniff — MIMEタイプスニッフィングを防止 |
| Referrer-Policy | strict-origin-when-cross-origin — リファラー情報の漏洩を最小化 |
| Permissions-Policy | カメラ・マイク・位置情報へのアクセスを無効化 |
2. インフラストラクチャ
| サービス | 認証 | データ所在地 |
|---|---|---|
| Supabase | SOC 2 Type II | 東京 |
| Vercel | SOC 2 Type II | 東京 |
| Stripe | PCI DSS Level 1 | セキュアサーバー |
毎日自動バックアップ(7日分保持)。Point-in-Time Recovery(PITR)対応可能(必要に応じて有効化)。
3. AI機能のデータフロー
お客様
→
Contri
サーバー(東京)
→
AI API
Google / OpenAI / Anthropic
↓ 応答を生成 ↓
お客様
←
Contri
サーバー(東京)
←
AIレスポンス
リクエスト
お客様
↓
Contri サーバー
東京
↓
AI API
Google / OpenAI / Anthropic
↓ 応答を生成
レスポンス
AIレスポンス
↓
Contri サーバー
東京
↓
お客様
✓送信されるデータ
- 仕訳データ(金額、勘定科目名)
- お客様の質問文
- レシート画像(OCR利用時)
✕送信されないデータ
- パスワード
- メールアドレス
- クレジットカード情報
- 他のユーザーのデータ
Google・OpenAI・Anthropicともに、API経由で送信されたデータをAIモデルの学習に使用しません。AI機能の利用は任意です。
4. 決済セキュリティ
クレジットカード情報はStripeが直接処理します。当社のサーバーを経由しません。StripeはPCI DSS Level 1(決済セキュリティの最高基準)に準拠しています。
5. インシデント対応
万が一、セキュリティインシデントが発生した場合:
1
初動対応
影響範囲の特定と被害拡大の防止
2
お客様への通知
影響を受けるお客様に、判明後72時間以内にメールで通知
3
原因調査
根本原因の調査と再発防止策の策定
4
監督官庁への報告
個人情報保護委員会への報告(法令に基づき必要な場合)