Create a new banner for WordPress.com that notifies customers of changes within Terms of Service. Please reach out to design and @jennyzhu when taking this for guidance.
Requirements:
I think we can leverage previous work and the existing banner component.
The user logs in and sees a banner on My Home (or Stats if My Home is not available to them yet). Explicit action is required to dismiss the banner. From a legal perspective this is better, but it鈥檚 less disruptive than a full screen modal. 
(Dependent on technical lift) The link in the banner opens the updated ToS in a modal, similar to how we display support articles from the inline help menu.

1. The user logs in and sees a banner on My Home (or Stats if My Home is not available to them yet).
Since users can access other pages directly by typing the URL in the browser, wouldn't be safer to display it on any page? I believe that's what we did for the GDPR banner.
2. (Dependent on technical lift) The link in the banner opens the updated ToS in a modal, similar to how we display support articles from the inline help menu.
It鈥檚 not a requirement that we serve the actual content in the dialog, so we decided to keep things simple and link to the ToS page from the banner, which avoids adding an endpoint for serving ToS content.
See pbAPfg-29#comment-81
@mmtr Thanks for taking a look at these.
Since users can access other pages directly by typing the URL in the browser, wouldn't be safer to display it on any page?
That sounds like a better plan!
It鈥檚 not a requirement that we serve the actual content in the dialog
Awesome. I was just going by the requirements listed in the issue description above. I read a few other threads, but missed that decision in the one you linked above. Thanks for pointing that out!
Since users can access other pages directly by typing the URL in the browser, wouldn't be safer to display it on any page?
That sounds like a better plan!
That leads to new design challenges 馃槄 The banner you proposed doesn't fit in screens not using the standard Calypso layout (like wordpress.com/block-editor/post or wordpress.com/customize). We could hide the banner in such screens or maybe we can display it sticked to the bottom as we did with the GPDR banner (https://github.com/Automattic/wp-calypso/pull/25392).

maybe we can display it sticked to the bottom as we did with the GPDR banner
The "open in app" banner takes also the same approach:

The GDPR banner seems like a good way to go for a consistent experience across all screens. We should repress all other non-essential sticky banners like the "open in app" if the TOS update banner needs to be displayed.