================================================================================
 LegalOS Inbox 既知の制約（v0.1.0 / Phase LI-09D-3 反映）
================================================================================

本書は、LegalOS Inbox 配布候補版で運用上把握すべき制約をまとめたものです。
配布前確認時 / 運用ガイダンス時に参照してください。

詳細な動作や手順は同梱の README_LegalOS_Inbox.txt を、確認項目は
CHECKLIST_LegalOS_Inbox.txt を参照してください。

================================================================================
 1. 連携範囲の制約
================================================================================

  - **Outlook 直接連携は未対応**。Outlook で受信したメールを ``.eml`` または
    ``.msg`` として保存し、それをアプリにドラッグ＆ドロップする運用です。
  - Microsoft Graph / Outlook Add-in は **未対応**。
  - Teams / Slack / Chatwork / LINE WORKS / Google Chat の API 連携は
    **未対応**。これらのサービスからエクスポートしたファイルを D&D で
    取り込む形になります。

================================================================================
 2. メール解析の制約
================================================================================

  - ``.eml`` は Python 標準 ``email`` ライブラリで解析。日本語件名・送信者名・
    添付のデコードに対応していますが、特殊な MIME 構造のメールでは本文や
    添付が一部抽出できない場合があります。
  - ``.msg`` (Outlook Classic) は ``extract-msg`` ライブラリで解析。
    以下の場合に解析できないことがあります:
      - 暗号化された .msg
      - 古い形式の .msg（OLE2 ではない場合）
      - Outlook 拡張機能で署名/暗号化された .msg
    解析できない場合でも、**元 .msg ファイルそのものは「元メール」として保存**
    されます。受付情報はユーザーが手動補完してください。
  - HTML メールの本文簡易テキスト化は最小限です。複雑な HTML レイアウトの
    崩れは起こり得ます。

================================================================================
 3. 期限・滞留判定の制約
================================================================================

  - 期限・滞留・経過日数の判定は **暦日基準**（祝日・週末を除外しない）。
  - 営業日カレンダー、半休扱い、タイムゾーン補正は未対応。
  - 「7 日超滞留」は ``updated_at`` 基準で 7 暦日以上更新がない案件。
    ステータスを変えず内容も変えていない案件をピックアップする目的です。

================================================================================
 4. ライセンス制御の制約
================================================================================

  - 本パッケージは **オフライン簡易ライセンス** です。サーバー照会なし、
    端末固有 ID なし、Stripe 等の決済基盤連携もありません。
  - 共通解除キー方式のため、購入者間でキーを共有された場合の即時失効は
    できません（次バージョンでハッシュ更新して再ビルドする運用）。
  - 端末時刻に依存します。時刻を意図的に過去へ戻す行為は防げません。
  - EXE 単体のため完全な耐改ざん性はありません。一般ユーザーが ``license.dat``
    を直接編集して期限を伸ばす程度の抑止のみ提供します（HMAC 不一致を検知して
    編集ロックします）。
  - **既存の受付・添付ファイルは、トライアル期限切れ・ライセンス状態の異常時
    にも削除されません。** 閲覧は引き続き可能です。

================================================================================
 5. パッケージング・配布の制約
================================================================================

  - **コード署名なし**。Windows Defender SmartScreen で
    「Windows によって PC が保護されました」が表示される可能性があります。
    「詳細情報」→「実行」で起動できます。
  - **インストーラーなし**（ZIP 配布）。任意フォルダに展開してご利用ください。
  - **PyInstaller onedir 配布**（onefile ではありません）。配布フォルダ
    全体を残してください（``_internal/`` を消すと起動しなくなります）。
  - 本配布版はコンソールを表示しません。トラブル時は
    ``LegalInbox_Data/logs/legalos_inbox_YYYYMMDD.log`` を参照してください。

================================================================================
 6. 認証・権限の制約
================================================================================

  - **本ツール内で完結する ID + パスワード認証** のみ提供（Phase LI-09C 以降）。
    初回起動時の初期セットアップで管理者ユーザーを作成し、2 回目以降は
    ユーザーID + パスワードでログインします。パスワードは PBKDF2-HMAC-SHA256
    （200,000 反復、16 byte ランダム salt）でハッシュ化されて保管され、平文では
    DB に保存されません。
  - **管理者によるユーザー管理 GUI** は提供しています（Phase LI-09D 以降）。
    「ファイル」→「ユーザー管理…」から、ユーザー追加・表示名/役割の変更・
    パスワード再設定・無効化／有効化が可能です（管理者ロールのみ）。
  - **SSO / Active Directory / Microsoft Entra ID 連携は未対応**。
  - **多要素認証（MFA）・ロックアウト・セルフパスワードリセットは未対応**。
    ユーザーがパスワードを忘れた場合、管理者からのリセットで対応します。
  - **LegalDesk 認証ブリッジ未統合**。社内 SSO / AD 連携は次フェーズ以降。
  - **権限別の表示制御は簡易**。役割は管理者 / 法務責任者 / 法務担当者の
    3 種で、ユーザー管理画面のみが管理者限定です。それ以外の機能（受付閲覧・
    編集・出力）はログインしたユーザー全員が利用できます。

================================================================================
 7. データ・性能の制約
================================================================================

  - **大規模データでの性能未検証**。受付件数が数万件規模、添付ファイル
    総容量がギガバイト級の場合の動作は確認していません。
  - DB は SQLite（単一ファイル）。複数 PC からの同時編集は想定外です。
    UNC 共有上でも動きますが、ロック競合時はリトライで吸収する設計です。
  - **AI 要約 / グラフ描画は未対応**。

================================================================================
 8. 開発オプションの扱い
================================================================================

  - ``--smoke`` は EXE 化後の依存ロード確認専用。本配布版はコンソールを
    表示しないため、出力は ``LegalInbox_Data/logs/`` のログをご参照ください。
  - ``--reset-license`` は **本配布版では無効化されています**。
    実行しても ``license.dat`` は削除されません（不正な期間延長を防止するため）。
  - 開発者向けの内部資料は **配布 ZIP には同梱されません**。

================================================================================
 まとめ
================================================================================

  本制約は v0.1.0 Phase LI-09D-3 時点のものです。今後のフェーズで段階的に
  解消予定:

    - コード署名 / インストーラー化 → 別フェーズ（候補: LI-10）
    - LegalDesk 認証ブリッジ / SSO 統合 → 別フェーズ（候補: LI-11）
    - onefile 試験 / 配布最適化 → 別フェーズ（候補: LI-12）
    - サーバー照会型ライセンス → 別フェーズ
    - Outlook / Teams 連携 → 別フェーズ
    - 大規模データ性能評価 → 別フェーズ

  問題報告・要望は配布元へお知らせください。
