-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Proposal: Privacy-specific changes to the footer #840
Comments
hi @carlesandres, this seems like a good idea. I have a few questions:
|
Hi @kavanagh. Thanks for the quick feedback. To answer your questions:
|
Thanks @carlesandres. Given this change needs to be applied to all FT.com apps then I think it can be justified as being added as a dependency of I am uneasy about manipulating DOM elements client-side. Any iterations on the design and/or content of the footer would potentially need to include work (or at least consideration) to maintain the effect of |
@carlesandres so if a change is made to
Ok, that's good to know. Although it's still feasible for the Ads & Privacy team to own a component within the dotcom-page-kit repo. If we took our team structure out of the equation, I'd have thought this functionality belongs in page-kit because it's used as part of the furniture of all dotcom pages. If there are code libraries and types that are used in different contexts beyond the render-links-in-the-footer use case then I could see the argument for them living in the privacy repo. Another way to look at this would be to take another element like the navigation in the header, as an example. At the moment, that lives in the page-kit repo. If the Content Discovery or Accounts teams owned that functionality, I wouldn't see the ownership argument as a good reason to move this code to another repo. I could see a good reason if we wanted to use some of the types in |
@andygout, when @carlesandres says "manipulating DOM elements client-side", I think he means showing and hiding them. There is a design doc about this. Provided we have the right tests in page-kit, I think the client-side rendering is fine while we have the single locale (California) use case. |
Thank you both @andygout @kavanagh for taking the time to discuss this. Based on your comments and considering the new requirement (which is about changing the text of the "Privacy" Link on the footer to "Privacy CCPA Updates" for California users only), I am going to give this some more thought and I'll get back to you with a refined proposal. |
Hi again @kavanagh and @andygout ! I've gone back to my team for further clarification on the CCPA requirements that affect the footer. Requirement # 1: Add a "Do Not Sell My Info" link to the footer
Requirement # 2: Move the "Privacy" link text to "Privacy - CCPA Updates".
At this point, the only option we have to meet this last-minute requirement is to make the change on the client side. My proposal is to expose a method from the new Future requirementsBeyond these two requirements, we are working on the assumption that new privacy laws will come out soon and that they will bring their own set of conflicting requirements and complex scenarios, with the potential to be sued by consumers and be given huge fines. For all of that, we believe we should consider making client-side changes to the footer standard practice , so that we can accommodate its content to the specific legislation that applies to each user. I believe @oliverturner has a suggestion that could help making those client-side manipulations more robust. |
On the topic of making client-side updates more robust and flexible, my proposal is to add a new DOM node dedicated to privacy in Page Kit's layout template. Depending on how these emergent requirements shape up, it could be rendered into to add elements or contain pre-rendered elements that are selectively revealed. In either case, with a guarantee that Privacy-related client-side updates would be restricted to this element, this would allow it to be targeted for modification without risk to other components. |
I cannot see too much difference (in terms of an end-user experience) between rendering the "Do Not Sell My Info" link for all then hiding for those to whom it does not apply versus adding it client-side for those to whom it does apply. So it seems whatever you feel the neatest technical solution is would be the one to go with. Do we still support a core (non-JS) experience that would need to accommodate the various scenarios? Also, if this is only applied to the front page, will that app have a direct dependency on
I think your description of invoking a
@carlesandres Do any of these changes need to be completed before tomorrow (01 Jul 2020)? You mention a 'last-minute requirement' and a I wonder if it relates to this deadline. Let me know if you want any help getting this over the line. |
No. It don't think it has been discussed and it seems tricky without moving the logic to the server. The thing that might mitigate the legal implications of this is the (somewhat related) fact that while Javascript is disabled the user information is not shared with third-parties.
Yes.
This package will only modify the footer. I was trying to point to the fact that the package will be used to modify the footer of both every page and also just some of them, in case it made you guys reconsider. I'm happy to build it as part of PageKit since that seems to be the preferred architecture.
Since we only received the new requirement 3 or 4 days ago, we've been given until the July 7th for that particular requirement, but I am aiming at getting it out asap.
Thanks for the offer, it's very likely that I will need some help. 😃 |
Yes, it was discussed, but doesn't seem to be noted in the original design doc. The idea was for the page to always contain the link and hide it for users who are not in California. If javascript fails (or is disabled), the privacy API fails, or the method of identifying the geographical location isn't working correctly then we'll still be compliant. |
The problem
As the privacy team we were recently required to show a variation of our footer to California users only, as demanded by the new privacy legislation that applies to them (CCPA).
The current solution
In order to avoid splitting the CDN caches further, the approach we took was to keep rendering the existing version of the footer from the server, and to make the necessary alterations for California users in the client.*
We implemented this change directly on
next-front-page
as a way to ensure we would meet the basic requirements by the hard deadline of 1st July, imposed by CCPA.The proposed solution
We are now being asked to make a different change to the footer for California users.
Considering we are expecting new privacy laws to come out in the future, which will likely need their own links or wording in the footer, we are proposing:
privacy
monorepo, so that all the privacy-specific business logic is contained where it makes sense.dotcom-ui-footer
so that it’s brought to all of dotcom footers consistently and test-ablyWe are seeking feedback from Platforms team and anyone else interested on this approach to make sure it's aligned with the overall dotcom architecture.
*
Detecting the privacy legislation that applies to a user is also done client-side by querying the new
https://privacy.ft.com/api/v1/compliance-region.json
endpoint.We currently check the user compliance region and alter the footer after most other JS has run on the page, since the it takes usually a few seconds for a user to scroll to the footer.
All this functionality is currently behind the
privShowCCPALinkOnFooter
flag and only being applied to the homepage.The text was updated successfully, but these errors were encountered: