Summary

Description

This release publishes the updated OpenChat terms of service, a new privacy notice, and updated community guidelines, and ships the user-facing side of the redesigned moderation system described in the trust and safety blog post. Each user is shown a one-time notice summarising the changes and asked to accept the updated terms.

The updated terms prohibit pornographic content on OpenChat. Communities currently operating under the Adult flag have a 28-day transition window from this release, and their owners are being notified directly.

To be clear about what this release does and does not do: it does not switch on automated moderation. No messages are scanned or classified — the classification pipeline remains switched off, and enabling it is a separate, dual-authorized platform-operator action which will only be taken once the remaining governance preconditions are met. The terms are also explicit that message media is never sent to general-purpose classification processors; media detection will instead use fingerprint matching against databases of known child sexual abuse material maintained by specialist child-safety organisations.

What is already live, via the canister releases which preceded this one (Community 2.0.2013, Group 2.0.2014, User 2.0.2015), is the human reporting path — in every chat type, including direct chats: a report asserting that content is child sexual abuse material immediately removes the message and quarantines the media in the evidence vault pending a human decision — a strict improvement on the previous behaviour, where such media remained publicly accessible after a soft delete. This release adds the user-facing side: the reporting UI, the moderator verdict and review surfaces, and the in-app contest flow. There are no automated sanctions: suspensions only ever follow a human verdict, and any sanction applied by moderation can be contested from within the app, including while suspended.

Vault reviewers have been designated under the dual-authorization scheme, and the internal moderation channel will be configured immediately following this release, at which point reports become visible to and actionable by the moderation team. The one remaining canister upgrade (group index) completes the rollout.

Added

  • Updated terms of service, a new privacy notice and updated community guidelines, with a one-time in-app acceptance step (#9119, #9147, #9150)
  • The moderation frontend: report review and verdicts for moderators, a request-human-review flow for sanctioned users (available while suspended, on desktop and mobile), evidence viewing for designated vault reviewers under a hash-chained access log, and platform-operator configuration including the propose/confirm flow for dual-authorized actions (#9119, #9136)
  • Links to the terms and privacy notice from the app and landing-page menus (#9147)

Changed

  • Google Analytics and Tag Manager removed from the website, which now sets no cookies (#9147)
  • The terms state explicitly that message media is not sent to general-purpose classifiers (#9150)

Fixed

  • Fixed a crash when tipping with a ledger which had been removed from the registry (#9131)
  • Fixed a crash in the thread panel when the event window is replaced (#9143)
  • Stopped reporting benign IndexedDB connection-closing errors on Android (#9148)
Payload

Proposal to execute nervous system function:

Nervous system function:

NervousSystemFunction { id: 10000, name: "Update OpenChat frontend assets", description: Some( "This will commit a newly prepared batch of assets which have been uploaded to the asset canister by a principal which has been granted the "Prepare" permission.", ), function_type: Some( GenericNervousSystemFunction( GenericNervousSystemFunction { target_canister_id: Some( 6hsbt-vqaaa-aaaaf-aaafq-cai, ), target_method_name: Some( "commit_proposed_batch", ), validator_canister_id: Some( 6hsbt-vqaaa-aaaaf-aaafq-cai, ), validator_method_name: Some( "validate_commit_proposed_batch", ), topic: Some( DappCanisterManagement, ), }, ), ), }

Payload sha256:

ff83ce8088725a7b70179e302d0f677f07abd257ac630f30163c0bad1fa84413

Payload:

commit proposed batch 251 with evidence f1987da4a89cfa14876b9ce70303d5e360744267c8e8963f24ee395b51c7b7bf

Overview