Skip to content

書類 / ファイル管理

目的

  • 保険証券、申込書、本人確認書類、案件メモなど、紙 / 画像で発生する情報を電子化して紐付け管理
  • 顧客 / 契約 / スケジュール / アクティビティに添付できる

ストレージ

  • 実体は Cloudflare R2 に保存
  • メタ情報(オーナー、紐付け、サイズ、種別、ハッシュ)は D1 の files テーブル

添付できる対象

添付先
顧客名刺、本人確認書類
契約証券、申込書、約款
スケジュール訪問予定の参考資料
アクティビティ商談メモのスキャン、写真
LINE メッセージ受信した画像 / ファイル(自動取り込み)

種別 / サイズ制限(暫定)

種別上限用途
画像 (JPEG / PNG / HEIC / WebP)20MB証券スキャン、本人確認
PDF30MB約款、申込書
Office (xlsx / docx)20MB見積書、提案書
その他10MB補助資料

プラン別の総容量上限は 課金とプラン で規定(未確定)。

アップロード

  • 直アップロード(署名付きPUT URL)でWorkerを経由しない
  • 完了通知でメタを確定。クライアント計算した SHA-256 をサーバ側でも検証

ダウンロード / 表示

  • 公開しない(テナント越境禁止)
  • 短時間有効の 署名付き GET URL を都度発行
  • 画像は CRM 内ビューアでサムネイル表示。原寸はダウンロードか別タブ
  • PDF はインラインプレビュー(ブラウザネイティブ)

サムネイル / プレビュー

  • 画像は WebP に変換してサムネイル化(クライアント側 or 後段ジョブ)
  • PDF の1ページ目サムネイルは後続検討

検索

  • ファイル名 / メモ / タグ / 添付先(顧客名・契約番号)で検索
  • OCR 全文検索は MVP では入れない(後続検討)

削除

  • 論理削除のみ(deleted_at)。R2 のオブジェクトは即削除せず、遅延ジョブで物理削除
  • 添付元のリソース削除時は連動削除(オプションで保留可)

機密区分とセキュリティ

アップロード時に 機密区分 を選択する(既定 internal):

区分用途暗号化プレビュー / サムネ署名URL有効期限
publicテナント外への共有想定R2 SSE60分
internalテナント内で広く参照R2 SSE30分
confidential業務上重要R2 SSE + アクセス強監査5分
sensitive要配慮個人情報を含むアプリ層 AES-GCM (テナントDEK) + R2 SSE2分
  • sensitive ファイルは Worker 経由でアップロード/ダウンロード(直署名URLは使わない)
  • LINE 受信添付は既定 internal、ユーザー操作で昇格可能
  • ウイルススキャン: 後続検討(外部スキャナ連携)
  • 詳細はセキュリティ設計参照

監査

  • アップロード / ダウンロード / 削除を監査ログへ
  • ダウンロードは「誰が・いつ・どのファイルを」を必ず残す(個人情報の追跡性)

権限

操作OWNERMEMBERADMIN
アップロード / 自添付の閲覧参照のみ
他担当の添付の閲覧設定依存参照のみ
削除✅(物理)

未確定