40701a9afffc4389886175c84f74b232✅ 검증됨 ◐ 일부 검증 ⚠️ 자가신고(폰이 주장) ℹ️ 메타
received_at은 서버가 찍음 · 나머지는 식별/버전 메타
| received_at | 2026-06-09T07:09:00.792580+00:00 |
| seal_id | 40701a9afffc4389886175c84f74b232 |
| seal_mode | server-excerpt |
| version | seal-manifest/0.2 |
이 봉인은 다른 원본의 발췌본입니다. C6는 POST /verify로 재검증.
| source_seal_id | 23aeffc3cb2a4e298858e17fbff81868 |
| range | {"end_ms": 10000, "start_ms": 0} |
| transform | pcm-slice |
사용된 알고리즘 표기
| canonicalization | json-sorted-compact-utf8 |
| manifest_hash | sha256 |
| payload_hash | sha256 |
| signature | ed25519 |
당사자 자가 선언 — 법적 진술이지 기술 증명 아님
| declared_at | 2026-06-09T07:09:00.792580+00:00 |
| is_party | False |
| statement |
폰 시계/센서 자가신고 — TSA 시각(C4)과 별개
| captured_at | null |
payload_sha256는 C1로 검증 ✅ · 나머지는 자가신고
| content_type | audio/wav |
| file_size_bytes | 882044 |
| filename | 23aeffc3cb2a4e298858e17fbff81868-0-10000.wav |
| kind | wav |
| merkle | {"alg": "rfc6962-sha256", "frame_bytes": 882000, "leaf_count": 1, "leaf_seconds": 10, "root": "e2a28685ad8294116f97d3e586fdf0f7b92e58fc68f575415da6d2bf736d3b72", "total_samples": 441000} |
| payload_def | wav-fmt-and-data |
| payload_sha256 | 2df5ddc9996f2bdc68d2c064dcd4333a7323e21f8ee59a359e11e59ccc990396 |
| payload_size_bytes | 882024 |
| kind | excerpt |
| merkle_proof | {"alg": "rfc6962-sha256", "leaf_from": 0, "leaf_to": 1, "range_path": ["68cffd96872f0bfb0808733e9bd20c76d948d44e1b6de29af271635ef193af45"]} |
| range | {"end_ms": 10000, "start_ms": 0} |
| requester | {"at": "2026-06-09T07:09:00.792517+00:00", "id": "dev"} |
| source_manifest_sha256 | 38293ee656037b343a2e4a272883bf06bc5e20df37f1aba736954447ff70a232 |
| source_seal_id | 23aeffc3cb2a4e298858e17fbff81868 |
| transform | pcm-slice |
C2 — 실제 WAV 헤더와 일관성 검증됨
| bits_per_sample | 16 |
| channels | 1 |
| codec | pcm_s16le |
| duration_ms | 10000 |
| sample_rate | 44100 |
C3 — 이 공개키로 매니페스트 서명 검증 (단, 키 신뢰는 keyring 핀 필요)
| algorithm | ed25519 |
| key_id | 5afddff0bca31ef3 |
| public_key | lZPL0fCRx4fUnUKmTZSO5w7MQLk91pqvFkYopVqgyQ8= |
| value | k2uut3oX2uLYIZmeOuFGrYYkz1RZNp9O3PHI1INraAR8QrA90zGs07vlIOC6InZHJL1+zWotVxLn6tDZUMXlAQ== |
best-effort 부가물
| 원본 음성 (original/) | 없음 |
| 지문 (.dfs) | 없음 |
{
"manifest": {
"algorithms": {
"canonicalization": "json-sorted-compact-utf8",
"manifest_hash": "sha256",
"payload_hash": "sha256",
"signature": "ed25519"
},
"attestation": {
"declared_at": "2026-06-09T07:09:00.792580+00:00",
"is_party": false,
"statement": ""
},
"capture": {
"captured_at": null
},
"container": {
"content_type": "audio/wav",
"file_size_bytes": 882044,
"filename": "23aeffc3cb2a4e298858e17fbff81868-0-10000.wav",
"kind": "wav",
"merkle": {
"alg": "rfc6962-sha256",
"frame_bytes": 882000,
"leaf_count": 1,
"leaf_seconds": 10,
"root": "e2a28685ad8294116f97d3e586fdf0f7b92e58fc68f575415da6d2bf736d3b72",
"total_samples": 441000
},
"payload_def": "wav-fmt-and-data",
"payload_sha256": "2df5ddc9996f2bdc68d2c064dcd4333a7323e21f8ee59a359e11e59ccc990396",
"payload_size_bytes": 882024
},
"derivation": {
"kind": "excerpt",
"merkle_proof": {
"alg": "rfc6962-sha256",
"leaf_from": 0,
"leaf_to": 1,
"range_path": [
"68cffd96872f0bfb0808733e9bd20c76d948d44e1b6de29af271635ef193af45"
]
},
"range": {
"end_ms": 10000,
"start_ms": 0
},
"requester": {
"at": "2026-06-09T07:09:00.792517+00:00",
"id": "dev"
},
"source_manifest_sha256": "38293ee656037b343a2e4a272883bf06bc5e20df37f1aba736954447ff70a232",
"source_seal_id": "23aeffc3cb2a4e298858e17fbff81868",
"transform": "pcm-slice"
},
"interpretation": {
"bits_per_sample": 16,
"channels": 1,
"codec": "pcm_s16le",
"duration_ms": 10000,
"sample_rate": 44100
},
"received_at": "2026-06-09T07:09:00.792580+00:00",
"seal_id": "40701a9afffc4389886175c84f74b232",
"seal_mode": "server-excerpt",
"version": "seal-manifest/0.2"
},
"manifest_sha256": "b351edfc79885df871ccc78ef0654795e35e60daf0bb9cf70e3f3622beaec732",
"signature": {
"algorithm": "ed25519",
"key_id": "5afddff0bca31ef3",
"public_key": "lZPL0fCRx4fUnUKmTZSO5w7MQLk91pqvFkYopVqgyQ8=",
"value": "k2uut3oX2uLYIZmeOuFGrYYkz1RZNp9O3PHI1INraAR8QrA90zGs07vlIOC6InZHJL1+zWotVxLn6tDZUMXlAQ=="
},
"timestamp": {
"gen_time": "2026-06-09T07:09:00.799701+00:00",
"token": "eyJwYXlsb2FkIjp7ImFsZyI6ImVkMjU1MTkiLCJnZW5fdGltZSI6IjIwMjYtMDYtMDlUMDc6MDk6MDAuNzk5NzAxKzAwOjAwIiwibWVzc2FnZV9zaGEyNTYiOiJiMzUxZWRmYzc5ODg1ZGY4NzFjY2M3OGVmMDY1NDc5NWUzNWU2MGRhZjBiYjljZjcwZTNmMzYyMmJlYWVjNzMyIiwidHNhIjoibG9jYWwtZGV2In0sInB1YiI6IkdXNWc5Z3RFUXh6K0VpU1pGOWZMaUFpcU5GcVNTVkg5STBrTDc0K3RQTWs9Iiwic2lnIjoidmoxcXNhUGJaWWxndzN6V3FIaXBnQ0hEcFdDSzJPeGZuWDZNQlM5Q2IwNTdNWEk0ZlJiWlMxYk13MWwzMFZ4b1JreW1yeGdOTndwU1ZXV0NMVEdQQVE9PSJ9",
"tsa": "local-dev",
"tsa_name": "local-dev",
"type": "local-dev"
},
"timestamps": [
{
"gen_time": "2026-06-09T07:09:00.799701+00:00",
"token": "eyJwYXlsb2FkIjp7ImFsZyI6ImVkMjU1MTkiLCJnZW5fdGltZSI6IjIwMjYtMDYtMDlUMDc6MDk6MDAuNzk5NzAxKzAwOjAwIiwibWVzc2FnZV9zaGEyNTYiOiJiMzUxZWRmYzc5ODg1ZGY4NzFjY2M3OGVmMDY1NDc5NWUzNWU2MGRhZjBiYjljZjcwZTNmMzYyMmJlYWVjNzMyIiwidHNhIjoibG9jYWwtZGV2In0sInB1YiI6IkdXNWc5Z3RFUXh6K0VpU1pGOWZMaUFpcU5GcVNTVkg5STBrTDc0K3RQTWs9Iiwic2lnIjoidmoxcXNhUGJaWWxndzN6V3FIaXBnQ0hEcFdDSzJPeGZuWDZNQlM5Q2IwNTdNWEk0ZlJiWlMxYk13MWwzMFZ4b1JreW1yeGdOTndwU1ZXV0NMVEdQQVE9PSJ9",
"tsa": "local-dev",
"tsa_name": "local-dev",
"type": "local-dev"
}
],
"version": "seal-bundle/0.1"
}