near-in-minutes / frontend

NEAR in Minutes is a NEAR-COOP (NEAR Community Owned and Operated Project) that invites you to binge-watch lessons about the NEAR platform in your favorite language.
https://near-in-minutes.com
0 stars 0 forks source link

feat(cookies): added cookie banner #90

Open hiba-machfej opened 3 years ago

hiba-machfej commented 3 years ago

I used a vanilla Js library: https://www.npmjs.com/package/js-cookie-consent.

Screen Shot 2021-08-13 at 2 01 39 PM Screen Shot 2021-08-13 at 2 01 49 PM
render[bot] commented 3 years ago

Your Render PR Server URL is https://near-in-minutes-com-pr-90.onrender.com.

Follow its progress at https://dashboard.render.com/static/srv-c4b57j9g7hpd080l1mc0.

hiba-machfej commented 3 years ago

@oceanByte is this PR ok for the cookie law?

oceanByte commented 3 years ago

@oceanByte is this PR ok for the cookie law?

Hey @hiba-machfej, this is almost complete, good job. The design fits the page!

This is not GDPR compliant yet though.

  1. Essential cookies. You do not need to ask for the consent of essential/necessary cookies. You just have to inform the user about it.
  2. Preference cookies. I believe you want to ask the consent for preference cookies to "provide you with the best experience on our website" as you state in the banner. For the sake of consistency and UX rename "essential cookies" to "preference cookies".
  3. Statistics cookies. You need to add an OPTIONAL setting for statistics/performance cookies. You can merge this PR with PR89 and there is a setting to enable GA if the user opted in for marketing tracking. I can show you how to do it once you added the missing setting.
  4. Terms page. You need to add a terms page that describes how you deal with the data. You can use https://near.academy/terms to get started here. Add a link to this page in your cookie banner.

In addition, you need to consider the following as well when implementing this feature:

  • Receive users’ consent before you use any cookies except strictly necessary cookies.
  • Provide accurate and specific information about the data each cookie tracks and its purpose in plain language before consent is received.
  • Document and store consent received from users.
  • Allow users to access your service even if they refuse to allow the use of certain cookies
  • Make it as easy for users to withdraw their consent as it was for them to give their consent in the first place.

Source: https://gdpr.eu/cookies/

hiba-machfej commented 3 years ago

@oceanByte is this PR ok for the cookie law?

Hey @hiba-machfej, this is almost complete, good job. The design fits the page!

This is not GDPR compliant yet though.

  1. Essential cookies. You do not need to ask for the consent of essential/necessary cookies. You just have to inform the user about it.
  2. Preference cookies. I believe you want to ask the consent for preference cookies to "provide you with the best experience on our website" as you state in the banner. For the sake of consistency and UX rename "essential cookies" to "preference cookies".
  3. Statistics cookies. You need to add an OPTIONAL setting for statistics/performance cookies. You can merge this PR with PR89 and there is a setting to enable GA if the user opted in for marketing tracking. I can show you how to do it once you added the missing setting.
  4. Terms page. You need to add a terms page that describes how you deal with the data. You can use https://near.academy/terms to get started here. Add a link to this page in your cookie banner.

In addition, you need to consider the following as well when implementing this feature:

  • Receive users’ consent before you use any cookies except strictly necessary cookies.
  • Provide accurate and specific information about the data each cookie tracks and its purpose in plain language before consent is received.
  • Document and store consent received from users.
  • Allow users to access your service even if they refuse to allow the use of certain cookies
  • Make it as easy for users to withdraw their consent as it was for them to give their consent in the first place.

Source: https://gdpr.eu/cookies/

@oceanByte Thank you so much for these comments. I will be working on them. Just meanwhile I merged the pr #89 related to google analytics and I am not getting any data. I thought it will take time to appear but there is nothing yet.