# 監査・移出パッケージ ## 概要 本パッケージは「販売アシスト1号」のSQLite DBからエクスポートした伝票データと、ハッシュチェーン検証結果を含みます。 ## ファイル - `invoices.jsonl` : 伝票1件ごとに1行のJSON(payload_json含む) - `audit_summary.json` : 全件数・赤伝件数・チェーン検証結果 - `README.md` : 本ファイル ## ハッシュチェーン方式(改ざん検知) - 各伝票は `payload_json` を正規化JSONとし、その SHA256 を `payload_hash` として保持 - `chain_hash = SHA256(prev_chain_hash + ':' + payload_hash)` で直前伝票と連鎖 - 先頭伝票の `prev_chain_hash` は 64文字のゼロ(genesis) - `node_id` はDB単位のUUIDで、端末故障時の復旧・識別に使用 ## 検証手順 1. `audit_summary.json` の `chain_verification.ok` が `true` であること 2. `false` の場合は `chain_verification.errors` を確認 3. 任意:スクリプトで `invoices.jsonl` を読み込み、先頭から `chain_hash` を再計算して一致を確認 ## 再現性(PDF生成) - `payload_json` と `pdf_template_version`/`company_info_version` があれば、 同一内容のPDFを再生成可能(PDFバイナリの完全一致は保証しない) - PDFは永続保存せず、必要時に再生成して利用・共有・削除する方針 ## 赤伝(相殺)の扱い - `is_offset=true` の伝票は赤伝(相殺伝票) - `offset_target_uuid` で元伝票を指す - 集計・表示ではデフォルト除外(UIの「赤伝を表示」スイッチで切替) ## 10年保管について - SQLite DB(本エクスポート元)を正とし、10年間保管 - バックアップ・復旧はDBファイル単位で行う(Google Drive等) - 必要に応じて本エクスポートパッケージを外部システムへ移行可能 --- 生成日時: 2026-02-21T07:57:34.454286