Upgrade Internet Identity Backend Canister to 84f611de8
#144720 · Open · 4 d left · proposed Nov 5, 2026
Summary
Backend Canister Upgrade
This proposal replaces proposal 144684. That proposal's upgrade argument encoded the archive module_hash as the text of the hex string instead of the 32 hash bytes, so the canister would fail to decode it and the upgrade would be rolled back. The wasm and release are unchanged; only the argument is corrected.
This release brings notifications to iOS. Apple delivers web push only to a web app installed on the Home Screen, so Internet Identity now ships one of its own: install ICP Alerts from the prompt in sign-in or from Settings, and the apps you have granted permission can reach you on iPhone and iPad as they already do elsewhere.
What's Changed
_Since proposal-backend-144478_
- feat(be,fe): Internet Identity signs and seals its own web push (#4489)
- feat(be): add a temporary read-only audit of the passkey indices (#4464)
- feat(be): an app reads and withdraws its own notification consent (#4475)
- feat(be): Internet Identity's own notifications, and the probe (#4454)
- feat(be): wake-ups routed through the app a browser points at (#4446)
- feat(be): the app's shared subscription, and delivery per identity (#4445)
- feat(be): a second identity on the device claims the same app (#4444)
- feat(be): the app as a caller, and who it delivers for (#4443)
- feat(be): a Home Screen app's own record, and the one-shot key that links it (#4442)
Wasm Verification
To build the wasm modules yourself and verify their hashes, run the following commands from the root of the Internet Identity repository:
git pull # to ensure you have the latest changes.
git checkout 84f611de82b7dc78a7d5537ceef2f1390ac9f39d
./scripts/verify-hash \
--ii-hash 06fa5763ca71e76873612d7f4919aa39b107ca6c1d255b69319921e525d1f72d \
--archive-hash 1f805192a1660851affc5f38e1ac9c8270dccb180fac17838019c6593ea4683b
Backend Argument Verification
Run the following command to verify the backend upgrade argument hash:
didc encode -d ./src/internet_identity/internet_identity.did -t '(opt InternetIdentityInit)' '(
opt record {
archive_config = opt record {
polling_interval_ns = 15_000_000_000 : nat64;
entries_buffer_limit = 10_000 : nat64;
module_hash = blob "\1f\80\51\92\a1\66\08\51\af\fc\5f\38\e1\ac\9c\82\70\dc\cb\18\0f\ac\17\83\80\19\c6\59\3e\a4\68\3b";
entries_fetch_limit = 1_000 : nat16;
};
},
)' | xxd -r -p | sha256sum
The output should match the argument hash.
Official view: dashboard.internetcomputer.org/proposal/144720