我 doing/handling 我的代码中是否正确地使用了 GDPR 隐私警报

Am I doing/handling the GDPR privacy alert correctly inside my code

我正在开发一个 asp.net mvc 核心 Web 应用程序,用于在我们的系统中进行用户注册,我们有以下场景:-

1) 当用户访问网络应用程序时,他们输入他们的注册号

2) 然后他们点击提交 >> 并填写注册表。

3) 我们要跟踪进入第一步但未完成注册的用户。

因此,由于我正在跟踪用户的操作,因此我按照以下步骤 https://docs.microsoft.com/en-us/aspnet/core/security/gdpr?view=aspnetcore-2.2 在我的应用程序中启用了 GDPR。并使用以下代码,我可以检查用户是否接受隐私警报:-

var consentFeature = HttpContext.Features.Get<ITrackingConsentFeature>();
var canTrack = consentFeature.CanTrack ;

如果 canTrack return 为真(用户接受隐私警报),那么我将跟踪用户的操作,而如果 canTrackreturn 为假(用户不接受隐私警报)我不会跟踪用户操作..所以我做对了吗?

首先声明:我不是律师。

遵守 GDPR 意味着比 "just" 获得用户的跟踪同意要多得多(尽管这不是一件容易的事)。

如果您正在收集同意并且仅根据它进行跟踪,那是一个(突出的)方面;根据您的 business/organization,您可能还需要 a privacy policy and support consent revocation – 因为用户可能想随时撤回他们的同意。此外,可能还有其他要求需要满足。

如果您想阅读更多相关信息并决定接下来要采取的步骤,您可以使用丰富的资源。但我建议与可以在此事上为您提供帮助的专家交谈。您甚至可以在 Fiverr 或 UpWork 雇用某人。

是否符合 GDPR 的问题是您在 SO 上找不到答案的问题,但至于您是否在 ASP.NET 中使用同意机制的问题核心正确,可以回答。

首先,我建议您阅读此处的大图,这是一篇来自 MS 的文章:

https://docs.microsoft.com/en-us/aspnet/core/security/gdpr?view=aspnetcore-3.1

本质上,您需要这样的东西来处理同意横幅。

@{
    var consentFeature = Context.Features.Get<ITrackingConsentFeature>();
    var showBanner = !consentFeature?.CanTrack ?? false;
    var cookieString = consentFeature?.CreateConsentCookie();
}

@if (showBanner)
{
    <div id="cookieConsent" class="alert alert-info alert-dismissible fade show" role="alert">
        Use this space to summarize your privacy and cookie use policy. <a asp-page="/Privacy">Learn More</a>.
        <button type="button" class="accept-policy close" data-dismiss="alert" aria-label="Close" data-cookie-string="@cookieString">
            <span aria-hidden="true">Accept</span>
        </button>
    </div>
    <script>
        (function () {
            var button = document.querySelector("#cookieConsent button[data-cookie-string]");
            button.addEventListener("click", function (event) {
                document.cookie = button.dataset.cookieString;
            }, false);
        })();
    </script>
}

这里的关键点是,您有责任向用户显示同意对话框并报告响应。 ASP.NET 框架将帮助网络开发人员跟踪用户同意状态,并且有一个标准化的 API 来管理它,这是必不可少的,因为即使在第三方中间件等中,这也能遵守用户同意。

接下来,您有责任确保您的所有代码以及您引入的任何第三方代码都遵循这一点。如果您有任何第三方依赖项,您需要检查那些(或可能使用网络浏览器的调试工具来验证)它不存储 cookie 也不向第三方发送请求的文档。

任何 javascript 库,例如 Google Analytics 或您使用的任何遥测技术,也需要考虑到这一点。这你必须在 JavaScript 方面解决。检查文档。这里有一个checklist for Google Analytics。 对于 Application Insights,您可能需要设置 window.appInsights.config.isCookieUseDisabled 属性。看起来自动遵守 ASP.NET 核心同意跟踪仍然是 an open issue

简而言之,看起来您的方向是正确的,但您可能需要做更多。