Cryptographic verification

Verify the integrity of any published IIC file

Drop the generator, the release checksums, any official PDF, the Complete Package ZIP, or either defensive publication to verify, in your browser, that the file matches the version published by Https Card — Internet Identity Card Ltd. Verification runs entirely on your device using the W3C Web Crypto API. Nothing is uploaded.

Verify in your browser

Drop any published IIC file below. Verification runs entirely on your device — nothing is uploaded.

Drop any published IIC file here
or click to select a file

Every file listed in the manifest below can be checked here, including the generator, the Wallet viewer and its service worker, and the SHA256SUMS files. Verification is by content: a file renamed by your browser still verifies.

Published release manifest

These are the cryptographic fingerprints of the published IIC releases. Compare locally-computed hashes against these values. The v9.0 entries are retained: a file issued under that release remains verifiable here.

0. v10.0.1 release package — anchored digest

This covers the eleven-file release package. The seventeen-file Complete Package has its own manifest and its own anchor, in section 1 below.

File
SHA256SUMS
Size
1,023 bytes
Algorithm
SHA-256
Covers
The eleven files of the v10.0.1 release package
ae6dfef06058e9e32427f6ba256bf96ba9fd40476a264dc3d074ac6d5d2799ba

This is the digest committed to Bitcoin and Ethereum for v10.0.1. It is the digest of SHA256SUMS, not of any archive: a ZIP embeds timestamps and compression choices that differ between runs, so its digest cannot be reproduced and proves nothing about the contents. Verify the package with shasum -c SHA256SUMS, then check this value. Anchored on Bitcoin at block 961512 (8 Aug 2026, 00:36:47 UTC) and on Ethereum at block 25704773 (7 Aug 2026, 18:06:47 UTC). The Ethereum leg precedes the Bitcoin leg by six hours; the two chains are batched independently and that ordering is normal. The v10.0 release package was anchored a day earlier, at Bitcoin block 961351 and Ethereum block 25701188. Times are block times in UTC, read from the explorers; OriginStamp certificates render them in local time.

0b. IIC generator v10.0.1 — current

File
internet-identity-card-v10.0.1.html
Size
537,630 bytes
Algorithm
SHA-256
0e72c928e11b6c03f3d54b7f155988bab09f8a740241574be09f200a1a018657

Not downloadable from this site. The generator is supplied under controlled onboarding; this fingerprint lets a recipient confirm the file they hold is the published build. A modified copy no longer matches it and cannot be verified by anyone.

0c. IIC generator v10.0 — superseded

File
internet-identity-card-v10.html
Size
536,602 bytes
Algorithm
SHA-256
dcfc708d70059fdfc1fe22ba11c2f3407a996095ffd24228fe914fbeb1e9bc36

Retained: a card issued by this build remains verifiable, and the fingerprint remains evidence of what was published.

1. Complete Package v10.0.1 — manifest and archive

File
SHA256SUMS
Size
1,535 bytes
Covers
Seventeen files: the generator, the Wallet, and the documentation
265e7eafa6ecff90cd2d3e878bd57efd10c225eacd8014a9febc504ca625a67b
File
IIC-Complete-Package-v10_0_1.zip
Size
264,775 bytes
Attests
That a download arrived intact — nothing more
0febc79c46d969921152474b0b423add64bbc4523c3ee7d2ea7c3527efb996a0

The Complete Package is not downloadable from this site. It contains the generator and the Wallet, neither of which is published; access is granted through the controlled onboarding process described in the documentation. A request for the archive URL therefore returns 404, by design and not through a broken link. The digests above are published so that anyone who receives the archive through that process can verify it independently, without contacting the issuer.

Two different claims, deliberately separated. The manifest digest is anchored on both chains and each of the seventeen files is verifiable against it with shasum -c SHA256SUMS. The archive digest is not anchored and never will be: a ZIP embeds timestamps and compression choices that vary between runs, so it cannot be reproduced. It is published for one purpose only — to confirm that a copy received through onboarding arrived without corruption.

Neither file is downloadable from this site. The Complete Package contains the generator, which is not publicly distributed. The v9.0 archive was withdrawn for the same reason; its digest remains in the anchor timeline below, where it documents a historic state without inviting a download.

2. User Guide

File
IIC-User-Guide-v9.0.pdf
Size
8,714 bytes
Algorithm
SHA-256
7b8655adad980da539e59227d3d82bf250eba69b1c33994f1e02bd406f1aa382

3. Wallet User Guide

File
IIC-Wallet-User-Guide-v1.0.pdf
Size
28,055 bytes
Algorithm
SHA-256
34002ce3a519286212cf4d9967414bdb6defbd993671ccde13313bd64cc57697

4. Technical Specification

File
IIC-Technical-Specification-v9.0.pdf
Size
9,880 bytes
Algorithm
SHA-256
1095a671bb2bf7eba4fd16167d91e445d268d3e6f51c52255b206b50d4edc7cf

5. Engineering Specification

File
IIC-Engineering-Specification-v9.0.pdf
Size
9,144 bytes
Algorithm
SHA-256
f7435515d8ec7429d1ff2d268da60cfa7276bd883ef2c5cb2fdccbd47731b9e7

6. Threat Model

File
IIC-Threat-Model-v9.0.pdf
Size
12,164 bytes
Algorithm
SHA-256
f692768adc79c9d25ab903b5b042efa29b7434802d42114d772ef757284a819a

7. Defensive Publication — Multi-Zone Canonical Neutralization (v2)

File
IIC-Defensive-Publication-MultiZone-v2.pdf
Size
15,770 bytes
Algorithm
SHA-256
1bd43a9ae765eba9e36ca39ed890e2946931ac1a61b9ae351b983595b02ba103

8. Defensive Publication — In-File Stapled Freshness

File
IIC-Defensive-Publication-StapledFreshness.pdf
Size
16,936 bytes
Algorithm
SHA-256
ac311f338e89adb1061b44e6bd65cf03952123b1aeaa07164ea1c6ae4d3ff902

Files inside the Complete Package are individually listed in its SHA256SUMS file; the generator file is internet-identity-card-v9.html, SHA-256 17aea67549cdf0214c04e9c89b0849efe08e74d3632efe2bc78d32fbe93f5bfc.

ECDSA P-256 public key (Base64-encoded)

Used to verify the ECDSA signature of the Complete Package ZIP.

BGZKvQvTKYT9R5qyB+O9fwIexvOBp9rogUgFFKAwHIrxR61DLjoYoGMt1BuGPYnawKmpsSwxoevMruLJ6qOZoIo=

Verify from your terminal

Prefer the command line? Compute the SHA-256 of the file you downloaded and compare with the published hash above.

macOS / Linux

# Holding the Complete Package: verify all seventeen files at once,
# then check the manifest against the anchored digest in section 1.
shasum -c SHA256SUMS
shasum -a 256 SHA256SUMS

# Any single published file:
shasum -a 256 internet-identity-card-v10.0.1.html
shasum -a 256 IIC-User-Guide-v10.0.pdf
shasum -a 256 IIC-Technical-Specification-v10.0.pdf
shasum -a 256 IIC-Engineering-Specification-v10.0.pdf
shasum -a 256 IIC-Threat-Model-v10.0.pdf
shasum -a 256 IIC-Wallet-User-Guide-v1.0-r5.pdf
shasum -a 256 IIC-Defensive-Publication-MultiZone-v2.pdf
shasum -a 256 IIC-Defensive-Publication-StapledFreshness.pdf

Windows (PowerShell)

Get-FileHash SHA256SUMS -Algorithm SHA256
Get-FileHash internet-identity-card-v10.0.1.html -Algorithm SHA256
Get-FileHash IIC-User-Guide-v10.0.pdf -Algorithm SHA256
Get-FileHash IIC-Technical-Specification-v10.0.pdf -Algorithm SHA256
Get-FileHash IIC-Engineering-Specification-v10.0.pdf -Algorithm SHA256
Get-FileHash IIC-Threat-Model-v10.0.pdf -Algorithm SHA256
Get-FileHash IIC-Wallet-User-Guide-v1.0-r5.pdf -Algorithm SHA256
Get-FileHash IIC-Defensive-Publication-MultiZone-v2.pdf -Algorithm SHA256
Get-FileHash IIC-Defensive-Publication-StapledFreshness.pdf -Algorithm SHA256

PowerShell has no equivalent of shasum -c. On Windows, check the manifest digest above, then compare each file individually against the values in section 1.

If the computed hash exactly matches the published value above, the file is bit-for-bit identical to the published release (integrity verified).

What this verification provides

A successful match between your locally-computed SHA-256 hash and the published value provides:

For the Complete Package ZIP, an additional ECDSA P-256 signature can be verified against the published public key. The signature provides cryptographic evidence that the release was issued by the holder of the corresponding private key, assuming the public key has been obtained from a trusted source.

Independent timestamping (BTC + ETH) — anchor timeline

Every release is anchored on the Bitcoin and Ethereum blockchains via OriginStamp, and additionally on Bitcoin via OpenTimestamps. Anchors are cumulative: superseding a release never removes the proof that its predecessor existed. The complete chronology:

13 May 2019
Historic Bitcoin anchor — Decentralized IIC (IPFS)
The project’s first blockchain timestamp, establishing anchoring practice seven years before the current release cycle. The card was published on IPFS and its SHA-256 fingerprint (ED70CEF5…D53C7FB) timestamped via OriginStamp in Bitcoin block 575,758 (13 May 2019, 00:13:27 UTC). The card is still retrievable on IPFS today: view the 2019 card · company history.
21–22 May 2026
v8.4.1 documentation bundle Superseded
User Guide, Technical Specification & Engineering Specification (3 PDFs, one anchor) · Bitcoin · Ethereum
7 June 2026
Wallet User Guide v1.0 · Revised
Unchanged in v9.0. Revised to r5 in August 2026 — this anchor is permanent evidence for the original file and does not cover the revision, which carries its own fingerprint and is anchored with the v10.0 package · Bitcoin · Ethereum
12 June 2026
Complete Package v8.4.1 — final UX build Superseded
SHA-256 468c6bfcb140032df6abc91568bff61d300298bf86fd9a57bf78a4f0d8257fc4
Bitcoin block 953295 (12 Jun, 00:22:00 UTC) · Ethereum block 25299490 (12 Jun, 06:07:23 UTC)
Superseded five days later by the audit-hardened build; this anchor remains permanent evidence of the earlier one.
17 June 2026
Complete Package v8.4.1 Superseded
Generator + Wallet + documentation · Bitcoin · Ethereum
18–19 June 2026
Threat Model v8.4.1 Superseded
3 July 2026
v9.0 release batch — 7 fingerprints, one anchor per chain
User Guide, Technical Specification, Engineering Specification & Threat Model v9.0, the two new defensive publications, and the initial v9.0 package build · Bitcoin · Ethereum · plus per-file OpenTimestamps proofs. The initial package build (dc081d5e…5395b710) was superseded the following day; its anchor remains permanent historical evidence.
4–5 July 2026
Complete Package v9.0 — superseded by the v10.0 release package Superseded
SHA-256 7b2dcffde07a29975097cff3d0246ea460762630dd8037798f7644e063818afd
Bitcoin (5 Jul, 00:15:20 UTC) · Ethereum (4 Jul, 18:06:47 UTC)
23–24 July 2026
Defensive publication TDCommons #11121 — post-quantum architecture
SHA-256 966b24d856e478dc378a6a0bbe58246d0d693c447bdfda9fd8e96ffb91ba22db
Ethereum block 25597114 (23 Jul, 18:06:47 UTC) · Bitcoin block 959329 (24 Jul, 00:15:25 UTC)
7 August 2026
v10.0 release package — ten files, one anchor per chain Superseded
Anchored digest of SHA256SUMS 2980397441afd0fe9c6fb3746b4197ceb074318d5381129a7803a004f95086b5
Bitcoin block 961351 (7 Aug, 00:30:52 UTC) · Ethereum block 25701188 (7 Aug, 06:06:47 UTC). The value written on chain is the OriginStamp batch Merkle root; the package digest is a leaf beneath it, and the certificate supplies the inclusion path.
8 August 2026
v10.0.1 release package — eleven files, one anchor per chain
Anchored digest of SHA256SUMS ae6dfef06058e9e32427f6ba256bf96ba9fd40476a264dc3d074ac6d5d2799ba
Bitcoin block 961512 (8 Aug, 00:36:47 UTC) · Ethereum block 25704773 (7 Aug, 18:06:47 UTC). Corrects the vault backup and restore path; the four v10.0 documents are carried forward unchanged and keep their v10.0 digests.
24 August 2026
Complete Package v10.0.1 and site root r8 — three digests, one anchor per chain
Anchored digest of the seventeen-file SHA256SUMS 265e7eafa6ecff90cd2d3e878bd57efd10c225eacd8014a9febc504ca625a67b
Anchored digest of SITE-SHA256SUMS (site root r8) 818ceb7f4e9d2528b0e7e35453749ef7c118665a10334ccce6ab23e9d6f513b5
Anchored digest of the Complete Package archive 0febc79c46d969921152474b0b423add64bbc4523c3ee7d2ea7c3527efb996a0 — the archive is not published; see below
Bitcoin block 963856 (24 Aug, 12:22:05 UTC) · Ethereum block 25826727 (24 Aug, 18:06:47 UTC). Both digests are leaves of the same Merkle tree, so one transaction per chain covers them — the same reason a manifest is anchored rather than each file. The site root covers the forty-one deployed files listed in SITE-SHA256SUMS.
25 August 2026
Site roots r9, r10 and r11 — two batches
Site root r9 5d54149b91edd80d0728273b1c2d945e00a4a27df94f7d6a0a3a689553a401ce
Bitcoin block 963926 (25 Aug, 00:09:39 UTC), Merkle root bb4a5987edafb2345c92f233317b9a4406549e551b0db671b5c70d1eb314d6f7 · proof JSON
Ethereum block 25830312 (25 Aug, 06:06:47 UTC), Merkle root 4ddbfc434b6ce7e38c16ad10e942a08b380bf6ef9edd9f2a1f6dd76e648c47b0 · proof JSON

Site root r10 0e422aaa2194ccd2f65da98ed45581af97047a616b9a44539481ed81d09a4cc6 · proofs Bitcoin, Ethereum
Site root r11 ebc31fa5308bd0ebfe3b0f4b71ae33ef2411d1364a7ad3f2c2c2f7fb5bce03d7 · proofs Bitcoin, Ethereum
r10 and r11 are two leaves of one tree per chain: Bitcoin block 964001 (25 Aug, 12:17:30 UTC), Merkle root f966ba3bfe2a7e7dab2a96a94dbfa8f87f26f5f61e0ccbf69f3f3283329e8bcb · Ethereum block 25833895 (25 Aug, 18:06:47 UTC), Merkle root 64fac946393ef03af4fb94c4cab0726e097c02fd96a7949c26af85506a9c1604

A transaction identifier alone does not identify a release. One transaction commits one Merkle root, and a root may cover several documents. The unit of proof is the leaf together with its inclusion path. Each proof file above lets any third party recompute the path: at every level, node = SHA-256(ASCII(left hex) || ASCII(right hex)), up to the root written in the Bitcoin OP_RETURN or in the Ethereum calldata.
30 August 2026
Site root r12 · Current
Anchored digest of SITE-SHA256SUMS 883f9f8c9a69a3b54ad80a9b4f161d9c76c64a106e168bf5fa39b7de2d669cdc
Bitcoin block 964643 (30 Aug, 00:12:02 UTC), Merkle root 5dafd8bff4c69f9f69af02bd448cad0fcd0e676a4424b652da58e223a2502be3 · proof JSON
Ethereum block 25866185 (30 Aug, 06:06:47 UTC), Merkle root 62abaf70330faad1a5d1c2203c604d25c06f3de84513577e1667c77ca6c7cfdc · proof JSON

This is the state currently served. Each inclusion path was recomputed node by node before publication: node = SHA-256(ASCII(left hex) || ASCII(right hex)), from the leaf up to the root written in the Bitcoin OP_RETURN or the Ethereum calldata. The full register of 29 anchors, with the verification procedure for both anchoring schemes, is in the Blockchain Audit Record v2.0.

Defensive publications

The cryptographic architecture verified here is disclosed as open prior art on Technical Disclosure Commons, released under the Creative Commons Attribution 4.0 license:

Important notice

This verification confirms file integrity only. It does not constitute legal recognition, certification, accreditation, or endorsement by any authority. Internet Identity Card ™ is a private software-based identity and verification platform developed by Https Card — Internet Identity Card Ltd. References to electronic signatures, eIDAS, or regulatory frameworks are informational only.

Page integrity

In addition to file verification, you can verify the SHA-256 integrity of every HTML page on this site in real time — directly in your browser, using the W3C Web Crypto API. Nothing is uploaded.

View page integrity →