Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
91 changes: 90 additions & 1 deletion EssentialCSharp.Web/Views/Home/Privacy.cshtml
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,93 @@
}
<h1>@ViewData["Title"]</h1>

<p>Use this page to detail your site's privacy policy.</p>
<div class="container">
<div class="row">
<div class="col-lg-8">
<h2>Privacy Policy</h2>
<p>At Essential C#, we are committed to protecting your privacy and ensuring you have a positive experience on our website.</p>

<h3>Information We Collect</h3>
<p>We collect information to provide better services to our users. The types of information we collect include:</p>
<ul>
<li><strong>Usage Information:</strong> How you interact with our website, including pages visited, time spent, and navigation patterns</li>
<li><strong>Technical Information:</strong> Browser type, operating system, IP address, and device information</li>
<li><strong>Account Information:</strong> When you create an account, we collect your email address and any profile information you provide</li>
</ul>

<h3>How We Use Your Information</h3>
<p>We use the information we collect to:</p>
<ul>
<li>Provide and improve our services</li>
<li>Analyze website usage to enhance user experience</li>
<li>Communicate with you about updates and features</li>
<li>Ensure website security and prevent fraud</li>
</ul>

<h3>Cookies and Tracking Technologies</h3>
<p>We use cookies and similar technologies to enhance your browsing experience. Our website uses:</p>
<ul>
<li><strong>Essential Cookies:</strong> Required for basic website functionality</li>
<li><strong>Analytics Cookies:</strong> Help us understand how you use our site (Google Analytics, Microsoft Clarity)</li>
<li><strong>Advertising Cookies:</strong> Used to deliver relevant advertisements</li>
</ul>

<p>You can manage your cookie preferences at any time by clicking the "Cookie Preferences" link in our footer.</p>

<div class="mt-3 mb-3">
<button class="btn btn-primary" onclick="openConsentPreferences()">
<i class="fa fa-cog me-2"></i>Manage Cookie Preferences
</button>
</div>

<h3>Your Rights</h3>
<p>Depending on your location, you may have certain rights regarding your personal information:</p>
<ul>
<li>Access to your personal information</li>
<li>Correction of inaccurate information</li>
<li>Deletion of your personal information</li>
<li>Restriction of processing</li>
<li>Data portability</li>
<li>Objection to processing</li>
</ul>

<h3>Third-Party Services</h3>
<p>Our website uses the following third-party services that may collect information:</p>
<ul>
<li><strong>Google Analytics:</strong> Web analytics service provided by Google Inc.</li>
<li><strong>Microsoft Clarity:</strong> User behavior analytics service provided by Microsoft Corporation</li>
</ul>

<h3>Data Retention</h3>
<p>We retain your information only as long as necessary to provide our services and fulfill the purposes outlined in this privacy policy.</p>

<h3>International Transfers</h3>
<p>Your information may be transferred to and processed in countries other than your own. We ensure appropriate safeguards are in place for such transfers.</p>

<h3>Contact Us</h3>
<p>If you have questions about this privacy policy or your personal information, please contact us through our GitHub repository or at the contact information provided on <a href="https://intellitect.com/about/privacy-policy/" target="_blank">IntelliTect's Privacy Policy</a>.</p>

<h3>Changes to This Policy</h3>
<p>We may update this privacy policy from time to time. We will notify you of any material changes by posting the new policy on this page.</p>

<p><small><em>Last updated: @DateTime.Now.ToString("MMMM dd, yyyy")</em></small></p>
</div>
<div class="col-lg-4">
<div class="card">
<div class="card-header">
<h5>Quick Actions</h5>
</div>
<div class="card-body">
<div class="d-grid gap-2">
<button class="btn btn-outline-primary" onclick="openConsentPreferences()">
<i class="fa fa-cog me-2"></i>Cookie Preferences
</button>
<a href="https://intellitect.com/about/privacy-policy/" target="_blank" class="btn btn-outline-secondary">
<i class="fa fa-external-link me-2"></i>IntelliTect Privacy Policy
</a>
</div>
</div>
</div>
</div>
</div>
</div>
26 changes: 24 additions & 2 deletions EssentialCSharp.Web/Views/Shared/_Layout.cshtml
Original file line number Diff line number Diff line change
Expand Up @@ -78,24 +78,43 @@
<environment exclude="Development">
<script type="importmap" asp-importmap="@prodMap"></script>
</environment>
<!-- Cookie Consent Manager - Load before analytics -->
<script src="~/js/consent-manager.js" asp-append-version="true"></script>

<!-- Microsoft Clarity - Will be activated based on consent -->
<script type="text/javascript">
(function (c, l, a, r, i, t, y) {
c[a] = c[a] || function () { (c[a].q = c[a].q || []).push(arguments) };
t = l.createElement(r); t.async = 1; t.src = "https://www.clarity.ms/tag/" + i;
y = l.getElementsByTagName(r)[0]; y.parentNode.insertBefore(t, y);
})(window, document, "clarity", "script", "g4keetzd2o");
</script>

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.0/css/all.min.css">
<!-- Markdown and sanitization libraries -->
<script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/purify.min.js"></script>
<!-- Google tag (gtag.js) -->

<!-- Google tag (gtag.js) - Will be activated based on consent -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-761B4BMK2R"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
// Initialize gtag but don't configure until consent is given
gtag('js', new Date());
gtag('config', 'G-761B4BMK2R');
// Configuration will be handled by consent manager
// Only configure if consent is already granted or region doesn't require consent
document.addEventListener('DOMContentLoaded', function() {
// Small delay to ensure consent manager is initialized
setTimeout(function() {
if (window.consentManager &&
(window.consentManager.hasAnalyticsConsent() || !window.consentManager.requiresConsent)) {
gtag('config', 'G-761B4BMK2R');
}
}, 100);
});
</script>
<style>
[v-cloak] {
Expand Down Expand Up @@ -506,6 +525,9 @@
<div class="col-12 col-md-auto align-self-end p-2">
<a target="_blank" rel="noreferrer noopener" href="https://intellitect.com/about/privacy-policy/">Privacy</a>
</div>
<div class="col-12 col-md-auto align-self-end p-2">
<a href="javascript:void(0)" onclick="openConsentPreferences()">Cookie Preferences</a>
</div>
<div class="col-12 col-md-auto align-self-end p-2"><a asp-route="TermsOfService">Terms Of Service</a></div>
</div>
</footer>
Expand Down
Loading