asp.net-identityblazor-server-sidegdprconsentform

Blazor (InteractiveServer) + ASP.NET Identity library & GDPR


This question is about what Blazor (IdentityServer) and the ASP.NET Core Identity Library does under the covers with respect to GDPR, CCPA, etc.

First off, if a user is not authenticated by the Identity Library, is Blazor and/or the Identity Library using any tracking cookies or other items that GDPR/CCPA have rules concerning and/or forbidding?

Second, once a user is authenticated, same question. What is it using to authenticate a user back in with no prompts. And if the user wants that deleted, how do I do it? And can I turn that off for a user? Or would turning it off mean Blazor thinks they're not authenticated on each new page?

In short:

  1. What do I need to tell users the system is tracking about them?
  2. What do I have my app restrict itself to if they decline cookies, etc.?
  3. What do I need to delete if they delete their account? (Yes I have to delete records in my database, my question is anything stored somehow by Blazor and/or the Identity Library.)

Solution

  • Disclaimers:


    First off, if a user is not authenticated by the Identity Library, is Blazor and/or the Identity Library using any tracking cookies or other items that GDPR/CCPA have rules concerning and/or forbidding?

    Second, once a user is authenticated, same question.

    What do I need to tell users the system is tracking about them?

    I think you're mistaken about the basis of your question here: with respect to cookies, in my opinion, the system isn't "tracking" the user at all: we aren't trying to follow their movements elsewhere on the web nor trying to fingerprint them so that other people could try to identify them elsewhere. The only thing ASP.NET is doing here is essentially giving the user a virtual membership card into your website, and it's up to the user to choose to present that membership-card to your website to gain access and they can choose to throw that membership-card away at any point they like (by closing the browser-window (in the case of session-lifetime'd cookies or Incognito-mode), or by clearing their cookies (in the case of persisted-cookies).

    What do I have my app restrict itself to if they decline cookies, etc.?

    Assuming that we're talking about a stock, common-or-garden vanilla-flavoured plain bagel ASP.NET website using ASP.NET (Core) Identity with no external services, then your question is moot because your website will only be issuing "strictly necessary" cookies that are fundamentally required for the safe and secure operation of your website, so there is nothing for the user to decline consent for.

    But, for example, if your customized your ASP.NET website to issue a uniquely identifying and long-life'd cookie to your visitors on the first request (i.e. including unauthenticated visitors) and used that to associate those browsers/sessions with users once they logged-in and/or after they logged-off but still browsing your website, and without any informed consent, even if it was confined to your own website, then that would be a GDPR violation in my opinion. But there are very legitimate reasons for doing something like that (e.g. user-experience monitoring) and there is a way of doing that legally, with explicit consent (e.g. something like a checkbox on the confirm-logout or post-logout page), but because this is murky if you find yourself facing this situation you should speak to your legal team.

    Oh, and things get hairier if you're using a third-party analytics service and to what extent these services you're using share/intermingle/anonymize/aggregate the data they're getting from you. So, as a notable example, if you're using Google Analytics at all then you've got a lot more work to do if you want to remain compliant.

    What do I need to delete if they delete their account?

    I cannot answer this question because this isn't a technical question: it depends on the basis and nature of your organisation's relationship to your website's users and you might even be legally obligated to retain user data instead of being obligated to delete it.

    Is anything stored somehow by Blazor and/or the Identity Library.