subject の定義
subject は「文書ファイルの各版そのもの」です。本文の正しさは扱いません。
プラン上の扱い
Series 3種は全プラン共通で利用できます。ただし Free は Free の利用上限(レート / カウンタ / 運用条件)の範囲で利用します。All three Series templates are available on every plan. Free can use them within Free limits.
最小 tags テンプレ
{
"receipt_kind": "document",
"tags": {
"subject_name": "whitepaper_v2.pdf",
"subject_type": "pdf",
"subject_version": "v2",
"chain_group": "whitepaper"
}
}
chain_group は表示・関連付け用の弱いラベルです(MVPでは厳密系列にしません)。
保証 / 非保証
- 保証:digest と tags に基づき receipt を生成し、署名し、検証できること。
- 非保証:文書内容の真実性・法的有効性など。
receipt_kind の扱い
receipt_kind は用途テンプレ識別と冪等性安定化のために使いますが、署名・verify ロジックの分岐条件には用いません。Series は同じ receipts / verify 基盤の上に置く Docs/UI レイヤです。
サンプル(PowerShell)
公開配布物では scripts/examples/ を前提にしません。以下の最小例をそのまま PowerShell に貼り、文書版の digest を receipt_kind=document で送ります。
$BaseUrl = "https://runproof.chamia-20260215.workers.dev"
$ApiKey = "rk_..."
$FilePath = ".\docs\whitepaper_v2.pdf"
$Version = "v2"
$ChainGroup = "whitepaper"
$hex = (Get-FileHash -Algorithm SHA256 $FilePath).Hash.ToLower()
$payload = @{
input_hash = "sha256:$hex"
receipt_kind = "document"
tags = @{
template = "document"
subject_name = [IO.Path]::GetFileName($FilePath)
subject_type = "pdf"
doc_version = $Version
chain_group = $ChainGroup
}
} | ConvertTo-Json -Depth 6
$headers = @{ Authorization = "Bearer $ApiKey"; "Content-Type" = "application/json" }
Invoke-RestMethod -Method Post -Uri "$BaseUrl/v1/receipts" -Headers $headers -Body $payload