1. 認証と権限管理
本サービスは、メールアドレスとパスワードによる認証に加え、JWTアクセストークンを用いた認可を採用しています。ログイン試行にはレートリミットを設け、不審な連続アクセスを抑止します。管理者のみがユーザー設定やパスワードリセットを実行でき、操作履歴は記録されます。
2. データ保護
ユーザーのパスワードはソルト付きハッシュ(bcrypt)で保存し、相談内容は暗号化してデータベースに保管します。環境変数で管理するシークレットキーやWebHook署名キーは、本番環境で必須設定とし、デプロイ時に検証しています。
3. 通信と外部連携
サービスはHTTPSでの利用を前提としており、n8nなど外部ワークフローへの連携はHMAC署名付きのWebhookで行います。署名を受け取った側は改ざん検知が可能です。外部連携先の認証・接続管理は、各連携サービスのポリシーに従います。
4. ログと監査
ワークフロー実行履歴、相談履歴、ログイン履歴を保存し、管理者が確認できるようにしています。これらの情報はインシデント分析や不正検知に活用します。
5. インシデント対応
障害や不正アクセスを検知した場合は、直ちに影響範囲を調査し、必要に応じて該当ユーザーへの連絡、アクセス遮断、ログの保全などを実施します。状況に応じて復旧と再発防止策を講じます。
6. 継続的改善
依存パッケージやDockerイメージの更新、データベースマイグレーションの自動適用、ログ監視を通じて安全性の向上に努めます。セキュリティポリシーはサービスの機能追加や法令改正に応じて適宜見直します。