ICPWatch
Get alerts
Application canisters

Upgrade Internet Identity Backend Canister to 84f611de8

#144684 · Open · 4 d left · proposed Nov 3, 2026

Yes 72.2%0.3% of voting power has votedNo 27.8%
tally read NNS governance canister, list_proposals
Action
Install Code
Proposer neuron
56
Created
Voting ends
Nov 7, 2026 (in 4 d)

Summary

Backend Canister Upgrade

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)

Full release notes

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 "1f805192a1660851affc5f38e1ac9c8270dccb180fac17838019c6593ea4683b";
      entries_fetch_limit = 1_000 : nat16;
    };
  },
)' | xxd -r -p | sha256sum

The output should match the argument hash.

Official view: dashboard.internetcomputer.org/proposal/144684