Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CAPABILITIES.md
Original file line number Diff line number Diff line change
Expand Up @@ -256,7 +256,7 @@ improvising or retrying when something is off.
| Encrypt PHI at rest: every bundle file that can hold patient data under one sealed index (unknown files refused), web recordings from the first frame, and the run directories of sealed bundles; compile, induce, scaffold-verifier, qualify, admit, run, resume and undo read them in memory and refuse without the key | On main | Synthetic (no-plaintext audit-hook test over record, compile and a VERIFIED run; per-frame cost measured) | `openadapt-flow seal`, `record`; [phi_at_rest.md](packages/flow/docs/phi_at_rest.md) |
| Signed receipts (Seals), countersigned and timestamped, offline by default | Released | Unit tests, real TSA tokens | `openadapt-flow seal`, `countersign`, `local-seal` |
| Offline Seals signed with a key the customer holds: a key file, the OS keychain, or a PKCS#11 token or HSM; pinned keys with rotation and revocation; no fallback to a generated key | On main ([#1392](https://github.com/OpenAdaptAI/OpenAdapt/pull/1392)) | Unit tests with synthetic data (keychain and PKCS#11 through stand-ins) | `openadapt-flow local-seal --key`, `local-seal key create`, `pin`, `revoke`; `openadapt seal verify FOLDER` checks every sealed run in a folder; [OFFLINE_SEALS.md](packages/flow/docs/OFFLINE_SEALS.md#customer-held-keys) |
| Anchor an offline Seal in the public Sigstore Rekor transparency log (opt-in; sends one digest and the public key), and verify the anchor offline from the stored inclusion proof | On main ([#1394](https://github.com/OpenAdaptAI/OpenAdapt/pull/1394)) | Unit tests against a simulated Rekor log; Ed25519ph matches the RFC 8032 test vector | `openadapt-flow local-seal anchor`, `local-seal verify --require-anchor`; [OFFLINE_SEALS.md](packages/flow/docs/OFFLINE_SEALS.md#optional-anchor-a-seal-in-a-public-transparency-log) |
| Anchor an offline Seal in the public Sigstore Rekor transparency log (opt-in; sends one digest and the public key), and verify the anchor offline from the stored inclusion proof | On main ([#1394](https://github.com/OpenAdaptAI/OpenAdapt/pull/1394)) | Unit tests against a simulated Rekor log; real public Rekor entries and Sigstore TSA tokens for the landing demo's referral runs, verified offline in tests; Ed25519ph matches the RFC 8032 test vector | `openadapt-flow local-seal anchor`, `local-seal verify --require-anchor`; [OFFLINE_SEALS.md](packages/flow/docs/OFFLINE_SEALS.md#optional-anchor-a-seal-in-a-public-transparency-log) |
| Run authorizations signed with the authorizer's GitHub SSH key (`ssh-keygen -Y sign`, after a summary of what it allows), naming the signing key and bound to the bundle digest, items, profile and Seal keys, and referenced by each Seal; the identity checked against github.com (`--live`) or pinned allowed signers; a pseudonymous operator profile counted from anchored Seals only | On main ([#1401](https://github.com/OpenAdaptAI/OpenAdapt/pull/1401)) | Unit tests with synthetic data; signatures checked against OpenSSH's `ssh-keygen` both ways | `openadapt-flow local-seal authorize`, `local-seal run --authorization`, `local-seal profile`; [OFFLINE_SEALS.md](packages/flow/docs/OFFLINE_SEALS.md#run-authorizations-who-authorized-the-runs) |
| Run reports redacted before they are sealed: session and CSRF tokens, OAuth grants and credential headers become `<redacted>` and are listed in `redactions`; a Seal refuses a report that still holds one; per-app policy | On main ([#1407](https://github.com/OpenAdaptAI/OpenAdapt/pull/1407)) | Unit tests with generated tokens; 7,773 local reports scanned, only OpenEMR `token_main` matched | `openadapt-flow redact-report`, `local-seal run --allow-unredacted`; [REPORT_REDACTION.md](packages/flow/docs/REPORT_REDACTION.md) |
| Strict no-outbound mode and an unattended on-prem service | Released | Synthetic | `openadapt-flow no-outbound`, `service`; [ON_PREM.md](packages/flow/docs/ON_PREM.md) |
Expand Down
2 changes: 1 addition & 1 deletion llms-full.txt
Original file line number Diff line number Diff line change
Expand Up @@ -653,7 +653,7 @@ improvising or retrying when something is off.
| Encrypt PHI at rest: every bundle file that can hold patient data under one sealed index (unknown files refused), web recordings from the first frame, and the run directories of sealed bundles; compile, induce, scaffold-verifier, qualify, admit, run, resume and undo read them in memory and refuse without the key | On main | Synthetic (no-plaintext audit-hook test over record, compile and a VERIFIED run; per-frame cost measured) | `openadapt-flow seal`, `record`; [phi_at_rest.md](https://github.com/OpenAdaptAI/OpenAdapt/blob/main/packages/flow/docs/phi_at_rest.md) |
| Signed receipts (Seals), countersigned and timestamped, offline by default | Released | Unit tests, real TSA tokens | `openadapt-flow seal`, `countersign`, `local-seal` |
| Offline Seals signed with a key the customer holds: a key file, the OS keychain, or a PKCS#11 token or HSM; pinned keys with rotation and revocation; no fallback to a generated key | On main ([#1392](https://github.com/OpenAdaptAI/OpenAdapt/pull/1392)) | Unit tests with synthetic data (keychain and PKCS#11 through stand-ins) | `openadapt-flow local-seal --key`, `local-seal key create`, `pin`, `revoke`; `openadapt seal verify FOLDER` checks every sealed run in a folder; [OFFLINE_SEALS.md](https://github.com/OpenAdaptAI/OpenAdapt/blob/main/packages/flow/docs/OFFLINE_SEALS.md#customer-held-keys) |
| Anchor an offline Seal in the public Sigstore Rekor transparency log (opt-in; sends one digest and the public key), and verify the anchor offline from the stored inclusion proof | On main ([#1394](https://github.com/OpenAdaptAI/OpenAdapt/pull/1394)) | Unit tests against a simulated Rekor log; Ed25519ph matches the RFC 8032 test vector | `openadapt-flow local-seal anchor`, `local-seal verify --require-anchor`; [OFFLINE_SEALS.md](https://github.com/OpenAdaptAI/OpenAdapt/blob/main/packages/flow/docs/OFFLINE_SEALS.md#optional-anchor-a-seal-in-a-public-transparency-log) |
| Anchor an offline Seal in the public Sigstore Rekor transparency log (opt-in; sends one digest and the public key), and verify the anchor offline from the stored inclusion proof | On main ([#1394](https://github.com/OpenAdaptAI/OpenAdapt/pull/1394)) | Unit tests against a simulated Rekor log; real public Rekor entries and Sigstore TSA tokens for the landing demo's referral runs, verified offline in tests; Ed25519ph matches the RFC 8032 test vector | `openadapt-flow local-seal anchor`, `local-seal verify --require-anchor`; [OFFLINE_SEALS.md](https://github.com/OpenAdaptAI/OpenAdapt/blob/main/packages/flow/docs/OFFLINE_SEALS.md#optional-anchor-a-seal-in-a-public-transparency-log) |
| Run authorizations signed with the authorizer's GitHub SSH key (`ssh-keygen -Y sign`, after a summary of what it allows), naming the signing key and bound to the bundle digest, items, profile and Seal keys, and referenced by each Seal; the identity checked against github.com (`--live`) or pinned allowed signers; a pseudonymous operator profile counted from anchored Seals only | On main ([#1401](https://github.com/OpenAdaptAI/OpenAdapt/pull/1401)) | Unit tests with synthetic data; signatures checked against OpenSSH's `ssh-keygen` both ways | `openadapt-flow local-seal authorize`, `local-seal run --authorization`, `local-seal profile`; [OFFLINE_SEALS.md](https://github.com/OpenAdaptAI/OpenAdapt/blob/main/packages/flow/docs/OFFLINE_SEALS.md#run-authorizations-who-authorized-the-runs) |
| Run reports redacted before they are sealed: session and CSRF tokens, OAuth grants and credential headers become `<redacted>` and are listed in `redactions`; a Seal refuses a report that still holds one; per-app policy | On main ([#1407](https://github.com/OpenAdaptAI/OpenAdapt/pull/1407)) | Unit tests with generated tokens; 7,773 local reports scanned, only OpenEMR `token_main` matched | `openadapt-flow redact-report`, `local-seal run --allow-unredacted`; [REPORT_REDACTION.md](https://github.com/OpenAdaptAI/OpenAdapt/blob/main/packages/flow/docs/REPORT_REDACTION.md) |
| Strict no-outbound mode and an unattended on-prem service | Released | Synthetic | `openadapt-flow no-outbound`, `service`; [ON_PREM.md](https://github.com/OpenAdaptAI/OpenAdapt/blob/main/packages/flow/docs/ON_PREM.md) |
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
{
"entry": {
"body": "eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhNTEyIiwidmFsdWUiOiI1NmIyMzhjNDgzZWEzZTgyZTAyN2NkMTAwNDMwN2UzMzljN2Q0YjAxNmFmZjIxN2Y3YjUwNDViMThhMTZhNzVhMWMzODk5NjY4YzA4MGY1M2MyNTg3ZWNjYjk3NjFjOGE3OGM0MzhmZGE4YjJlNTcxMzJlODdmYjNiYTM4MWM3NyJ9fSwic2lnbmF0dXJlIjp7ImNvbnRlbnQiOiJtZ1RWbmFnWGJNUlY2cisvTDI3bHQvWWFUSElmSHFDb04yRUU2bFpzY2s2Y1VVRkd0SzhRK3pqeUM4elhKeTZLVTgxVXZhQ2NkbGRJZ0I3Q2pMRTdDQT09IiwicHVibGljS2V5Ijp7ImNvbnRlbnQiOiJMUzB0TFMxQ1JVZEpUaUJRVlVKTVNVTWdTMFZaTFMwdExTMEtUVU52ZDBKUldVUkxNbFozUVhsRlFWVlJUMU5zYWpOcFEzbHdVMlJUZDNKVldWbFBZMHhpVXpaNWVUSTFlVTAyYzNscVNGWnVjV05JUW1jOUNpMHRMUzB0UlU1RUlGQlZRa3hKUXlCTFJWa3RMUzB0TFFvPSJ9fX19",
"integratedTime": 1792511616,
"logID": "c0d23d6ad406973f9559f3ba2d1ca01f84147d8ffc5b8445c224f98b9591801d",
"logIndex": 3339635766,
"uuid": "108e9186e8c5677aa7543418cff84038fcf0b8503bf878af6bf8d4f906821840f5ac10e710b45fd0",
"verification": {
"inclusionProof": {
"checkpoint": "rekor.sigstore.dev - 1193050959916656506\n3217731569\nbiQKRWlqyS4H1E+XQ5PFa5baE9Kd1lW7p8G+lIfSeqU=\n\n\u2014 rekor.sigstore.dev wNI9ajBGAiEA20ISQsSDn7Nuey0fi3E2Lex7RYGBhxb/A64t5gN7ZfoCIQC5wdcDm1qDThGpZ0iSqL1PTXg+ijgnmRQ2zcQWqHT3rw==\n",
"hashes": [
"10dbbfb55020f1d64f0b225023fb50941b60f127291f28e95eba9f587e3337f4",
"47ad4a16cdd51b56416df9342d93f2214e44f417a6a3bbcc7a6023df5546d7d6",
"6eb11ff37c55975e524689fe07aa0916720bfa71277fc93f4b87100ba4c4ff97",
"42ddaaa8c42f56f6d7b3f161b22f4b15dd776ed047619513613a7e4dca557311",
"a8c8d03e3b329a6cf131ab27b827e3be2e848f7e6cca5aa855a2ee0626816c36",
"3c5163882115b80260634e9e2d5d879afda6fb1cb5663e9e14fed33b99a9fdcb",
"dc1086cf79fe48992da87c2a10bb624a47caa43460224453e9090366159f72ce",
"e239ff0ee76a53932dbf944e2425ea1157bde41af58206da2526e71d6750268b",
"e2b57796cc1375a4c7dfec20fa74b010f649efda4a0f6e0507bb2c2fb8f9583c",
"d85ef1b75a8ce7965b02d1b8a2405371366c3cc89b0bbd04d220c9dbd623228c",
"db8524b1f6610642730eacb0471a0aeca405ba750bfbc099f6c48a0d03b11392",
"1dae9e1aae4a6299c11ec217c1bb739017aee8cb939df21d5bd07fd98f9bf75c",
"0484fc459183f5191a1f5f4eff5954c5d06af4285a6f5fe8593937bd78547475",
"d7b421e7c5b37697a2e76feacad4ebab65bc2767c0e85fa12e9e296333847051",
"0ccdecead5a695d8d359e61502b86785401c1cfb4746f46480699137a76bb2da",
"ed916d87334cd633f90b1eccc9f011c0da8163146fc375559f75c06dd1bc31fb",
"5eaa5e4bf0471ce13153de87be0e4bf9d1f0ab444f2431c298a4f1fe35c0839d",
"e916fbb8e824dafe5829c1526c03cea4b9560083757220cf765a7827f094bb99",
"1e8bd33c15b3a04aef520d6ee6c222df1d59a2767bc897a456c06b9a9a260880",
"1be9e4ee6804e61e9d526bf6518ecd0c9ad8dd6beb658df5ada68ed40113b7ea",
"aa54d6343cc44674c14157071d75d53e38943f44ac8a41b17dcc55960a95143a",
"820f46340a4d91edfeccd865e2db16b6623270216b38c081de5cace97b9240d4",
"36539c96576628f035b4c288b24a87030b900d81e9df5630a4af8e38cacc71c7",
"ab1cc76a7033cf9ed20dd9897b407b6c92bbd8d4c805bc043060412af0ce44ec",
"c47fc30ac78b1ebf5e2a8613f2ab0e4592bbcd5744198587b95b6c56b0fde706"
],
"logIndex": 3217731504,
"rootHash": "6e240a45696ac92e07d44f974393c56b96da13d29dd655bba7c1be9487d27aa5",
"treeSize": 3217731569
},
"signedEntryTimestamp": "MEUCIQCsYGXQN3fzdGPh/hzhpx6JO9KtPH2/XtmLHULOTGDheAIgPdBIipG0R7oJsx4gIF5Cs5NeFOjWXAtl7N1gKsET7yw="
}
},
"key_id": "seal-ed25519-ca08dd7f42a4be01",
"log_url": "https://rekor.sigstore.dev",
"nonce": "66d6dfeaca36c609b0e1c250317137f0934e230c69a32116ea717f95ea4ed35b",
"schema": "openadapt.local-seal-anchor/v1",
"seal_sha256": "548ba574914dffee8443b54d33a340ee106923e0fe672b41d7756621124d9a4d",
"statement_sha512": "56b238c483ea3e82e027cd1004307e339c7d4b016aff217f7b5045b18a16a75a1c3899668c080f53c2587eccb9761c8a78c438fda8b2e57132e87fb3ba381c77"
}
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
{
"algorithm": "ed25519",
"issued_at": "2026-10-20T04:19:56Z",
"authorization_sha256": "bdfda160138f89a708caa122904af6fec66b29ad41c2d8cb25e458e2da5104d3",
"issued_at": "2026-10-20T15:53:26Z",
"issuer": "local",
"key_id": "seal-ed25519-ca08dd7f42a4be01",
"outcome": "VERIFIED",
"public_key": "UQOSlj3iCypSdSwrUYYOcLbS6yy25yM6syjHVnqcHBg=",
"run_id": "engine",
"schema": "openadapt.local-seal/v1",
"signature": "pjzps9rNTF3yA57NEd71nTCD1OLcRQh4UdVwGUvklRqXXuLlIyK6ZeIPFQDWZV+9N8b/h3WKUNWP43aTlJJABg==",
"scope_item": "r3",
"signature": "2+zCKP4B8srkGvTaKNwisg8g45hGNugy75QoCZg33xycVCU4T/H9RFwhWcXJz1S6osmU0mseO8DiDIwBVDzEAg==",
"subject_kind": "run-report",
"subject_sha256": "ad349a68cc2d60b7c4f36ac1558f6cc39439f69b952c883bd5a4cd14d229a2b1"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"gen_time": "2026-10-20T15:53:35Z",
"imprint_sha256": "548ba574914dffee8443b54d33a340ee106923e0fe672b41d7756621124d9a4d",
"schema": "openadapt.record-timestamp/v1",
"seal_sha256": "548ba574914dffee8443b54d33a340ee106923e0fe672b41d7756621124d9a4d",
"tsa": "https://timestamp.sigstore.dev/api/v1/timestamp",
"tsr_file": "seal.tsr",
"tsr_sha256": "edf5322f93f772e9de3ba2667e41daeb27584f5e104b5df07661af3633228792"
}
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
{
"entry": {
"body": "eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhNTEyIiwidmFsdWUiOiI1YzVhYjQ1ZWY4M2U4MzA4M2JmODc1MDE5N2FiZmRkZDBiZTNjYzFhMGZkZDU1YjZkMzY2MjNjN2NhY2FhMTdjNjYzZmM0NjI2MWM5YjJlMzM3Zjg0MWQ3YWQ3MGM0Y2MwNDY0OGJjMGQ0MjQxNjI4NTI2YjI2MWNlMGI0OWUxZiJ9fSwic2lnbmF0dXJlIjp7ImNvbnRlbnQiOiJMM1Vhb29HRTlwOEhuMEpLZjRKdDkvbWtCSGx4NVVSWHkyeWVRSFBJQzI1cm1yT1Q5QllvdXZZZ2xjNk83cW04alkyMEhKZVlwYU9OOUc1bzY4cENCZz09IiwicHVibGljS2V5Ijp7ImNvbnRlbnQiOiJMUzB0TFMxQ1JVZEpUaUJRVlVKTVNVTWdTMFZaTFMwdExTMEtUVU52ZDBKUldVUkxNbFozUVhsRlFWVlJUMU5zYWpOcFEzbHdVMlJUZDNKVldWbFBZMHhpVXpaNWVUSTFlVTAyYzNscVNGWnVjV05JUW1jOUNpMHRMUzB0UlU1RUlGQlZRa3hKUXlCTFJWa3RMUzB0TFFvPSJ9fX19",
"integratedTime": 1792511619,
"logID": "c0d23d6ad406973f9559f3ba2d1ca01f84147d8ffc5b8445c224f98b9591801d",
"logIndex": 3339636256,
"uuid": "108e9186e8c5677a034e57e78270445688b507e30b2098787ccfa9e37edd267f473f4439dc1da50f",
"verification": {
"inclusionProof": {
"checkpoint": "rekor.sigstore.dev - 1193050959916656506\n3217732093\nUR+J0hDfIJUEP7k6+HS3fu9V4Pbafy5w3tNqwDHFWhw=\n\n\u2014 rekor.sigstore.dev wNI9ajBFAiEA0wflszFams4IIUJUAO76hkqfKaU0eQA3RntL9vr/iHwCIGSmqMoIM1qdccDU3ywrX+jBHnV3VIdfpNuSFSxqUc41\n",
"hashes": [
"bef2c04bb1df02d4a705a5173da6f8166aafead681338555237f447b192cd067",
"8eebe59571e836d1c936458558b9af3c23d23de349d7b2ada82c26080edf55d0",
"8867f51a9f490c2aeee5b0f22b9a05206fd69c7b19012daff4e5ad2f254ef41b",
"f8ad2ab87a173b526aaa96d7adbbad9ba3eb35dc9a921906432b83ed65edf7f4",
"d98b96f73065dc9c848e123666481b9830bdbbfb45fc915e8368f1a61c5ab810",
"5eebbb3d30942aad7ad5288e396a2a884d0b54b167d8ae349199380275e3b91a",
"33e1d7e51e2df5ba981d11adced4955443d233895615585a49751dea9a8de6c9",
"dcedddd7bcc80aff404d785f8a68966d8198d904747927cfdfa2c4e9671fadc2",
"1b6eb37d7763b4aedb58c24c0e0ae55444fc52c7bebbbfea5e844d874840a1e1",
"ca010f0e78c08f47679d2372d5a10a9878a2015c3b4b67753fb289674679d573",
"0484fc459183f5191a1f5f4eff5954c5d06af4285a6f5fe8593937bd78547475",
"d7b421e7c5b37697a2e76feacad4ebab65bc2767c0e85fa12e9e296333847051",
"0ccdecead5a695d8d359e61502b86785401c1cfb4746f46480699137a76bb2da",
"ed916d87334cd633f90b1eccc9f011c0da8163146fc375559f75c06dd1bc31fb",
"5eaa5e4bf0471ce13153de87be0e4bf9d1f0ab444f2431c298a4f1fe35c0839d",
"e916fbb8e824dafe5829c1526c03cea4b9560083757220cf765a7827f094bb99",
"1e8bd33c15b3a04aef520d6ee6c222df1d59a2767bc897a456c06b9a9a260880",
"1be9e4ee6804e61e9d526bf6518ecd0c9ad8dd6beb658df5ada68ed40113b7ea",
"aa54d6343cc44674c14157071d75d53e38943f44ac8a41b17dcc55960a95143a",
"820f46340a4d91edfeccd865e2db16b6623270216b38c081de5cace97b9240d4",
"36539c96576628f035b4c288b24a87030b900d81e9df5630a4af8e38cacc71c7",
"ab1cc76a7033cf9ed20dd9897b407b6c92bbd8d4c805bc043060412af0ce44ec",
"c47fc30ac78b1ebf5e2a8613f2ab0e4592bbcd5744198587b95b6c56b0fde706"
],
"logIndex": 3217731994,
"rootHash": "511f89d210df2095043fb93af874b77eef55e0f6da7f2e70ded36ac031c55a1c",
"treeSize": 3217732093
},
"signedEntryTimestamp": "MEUCIAbIIcdtYSmjN+zICFw3tcmPVibBXTVKWvYmak8qLpVCAiEAosiPiiiiHKlqPVfDcCrb5rI9zMrC0RaM0yQERS1bPiw="
}
},
"key_id": "seal-ed25519-ca08dd7f42a4be01",
"log_url": "https://rekor.sigstore.dev",
"nonce": "c0504e5d2d2f9a9b02d1d75ca557acdf6016c3d450d479a6b62bdfb0ac9132a9",
"schema": "openadapt.local-seal-anchor/v1",
"seal_sha256": "e27585b3f86dd9b79ef3fc368ffca13cd34824e03352987697ae1e33f228808e",
"statement_sha512": "5c5ab45ef83e83083bf8750197abfddd0be3cc1a0fdd55b6d36623c7cacaa17c663fc46261c9b2e337f841d7ad70c4cc04648bc0d4241628526b261ce0b49e1f"
}
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
{
"algorithm": "ed25519",
"issued_at": "2026-10-20T04:20:00Z",
"authorization_sha256": "bdfda160138f89a708caa122904af6fec66b29ad41c2d8cb25e458e2da5104d3",
"issued_at": "2026-10-20T15:53:27Z",
"issuer": "local",
"key_id": "seal-ed25519-ca08dd7f42a4be01",
"outcome": "VERIFIED",
"public_key": "UQOSlj3iCypSdSwrUYYOcLbS6yy25yM6syjHVnqcHBg=",
"run_id": "engine",
"schema": "openadapt.local-seal/v1",
"signature": "/gLYzwGDUfDut9K8Zee5KPJbVuvraXMvb5CYP5wSJpU0oR0+n1uMjIEl2XnbRwLoc/WC8NvW0883r/L4tywiCQ==",
"scope_item": "r4",
"signature": "2komh9VDPGkipxXmF1js2OXYEtmdVVo6IXn6yfkgQDztthCsh4jSZqrjN608pDgdk6IyQ1wImczXPdCr5rL3BA==",
"subject_kind": "run-report",
"subject_sha256": "391522a4414eb9db29a0f9e5d06746ea02d7ba71d9dcd8685c2f2066aa7b384a"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"gen_time": "2026-10-20T15:53:38Z",
"imprint_sha256": "e27585b3f86dd9b79ef3fc368ffca13cd34824e03352987697ae1e33f228808e",
"schema": "openadapt.record-timestamp/v1",
"seal_sha256": "e27585b3f86dd9b79ef3fc368ffca13cd34824e03352987697ae1e33f228808e",
"tsa": "https://timestamp.sigstore.dev/api/v1/timestamp",
"tsr_file": "seal.tsr",
"tsr_sha256": "d0ebda4a0eb90d824340f93b467f8ac1a28ff2b794827d3783d11e059a25df65"
}
Binary file not shown.
Loading
Loading