Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -38,5 +38,6 @@ test-results/
public/*
!public/.gitkeep
!public/index.html
!public/privacy.html
!public/favicon.svg
!ads.txt
2 changes: 2 additions & 0 deletions public/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,8 @@ <h3>Common Use Cases</h3>
<li><a href="https://www.python.org/doc/" target="_blank" rel="noopener">Python Documentation</a></li>
<li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON" target="_blank" rel="noopener">MDN Web Docs - JSON</a></li>
</ul>
<p class="affiliate-disclosure"><small>As an Amazon Associate, we earn from qualifying purchases. This site may contain affiliate links; we may earn a commission at no extra cost to you.</small></p>
<p><small><a href="/privacy.html">Privacy Policy</a></small></p>
</footer>
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-QFE6TJB3X9"></script>
Expand Down
118 changes: 118 additions & 0 deletions public/privacy.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Privacy Policy - Python Dict to JSON Converter</title>
<meta name="description" content="Privacy policy for dict2json.com, the Python dictionary to JSON converter.">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
</head>
<body>
<main class="content-section">
<h1>Privacy Policy</h1>
<p><strong>Last updated:</strong> May 13, 2026</p>

<p>This Privacy Policy describes how dict2json.com ("we", "us", or "our") collects, uses, and
protects information when you use this website.</p>

<section>
<h2>Information We Collect</h2>
<p>We do not require you to create an account or provide personal information to use the
converter tool. All conversion of Python dictionaries to JSON happens entirely in your
browser — the data you paste into the converter is never sent to our servers.</p>
<p>We collect the following information automatically when you visit the site:</p>
<ul>
<li>Standard server log information, including IP address, browser type, referring page,
and pages visited</li>
<li>Usage analytics via Google Analytics and Google Tag Manager (for example: page views,
session duration, approximate location, and device type). These services may use cookies
and pseudonymous identifiers.</li>
</ul>
</section>

<section>
<h2>How We Use Information</h2>
<ul>
<li>To understand how visitors use the site and improve the tool</li>
<li>To monitor and prevent abuse of the service</li>
<li>To comply with legal obligations</li>
</ul>
</section>

<section>
<h2>Cookies and Tracking</h2>
<p>This site uses cookies and similar tracking technologies through Google Analytics to
analyze site usage. You can disable cookies in your browser settings or use browser
extensions to opt out of analytics tracking.</p>
<p>Read more about Google's privacy practices at
<a href="https://policies.google.com/privacy" target="_blank" rel="noopener">policies.google.com/privacy</a>.
</p>
</section>

<section>
<h2>Affiliate Links</h2>
<p>This site may contain affiliate links to products on Amazon and other retailers. As an
Amazon Associate, we may earn a commission from qualifying purchases made through links
on this site, at no additional cost to you. We only recommend products we believe are
useful to our readers.</p>
</section>

<section>
<h2>Third-Party Services</h2>
<p>We use the following third-party services that may collect information:</p>
<ul>
<li><strong>Google Analytics</strong> — for anonymous usage statistics</li>
<li><strong>Google Tag Manager</strong> — for managing tracking tags</li>
<li><strong>GitHub Pages</strong> — for site hosting</li>
</ul>
</section>

<section>
<h2>Data Retention</h2>
<p>We do not store any data you enter into the converter. Event-level analytics data is
retained for 2 months, which is the Google Analytics 4 default retention period.</p>
</section>

<section>
<h2>Your Rights</h2>
<p>Depending on your jurisdiction, you may have rights regarding your personal data,
including the right to access, correct, or delete information we hold about you. To
exercise these rights, contact us using the information below.</p>
</section>

<section>
<h2>Children's Privacy</h2>
<p>This site is not directed at children under 13. We do not knowingly collect personal
information from children under 13.</p>
</section>

<section>
<h2>Changes to This Policy</h2>
<p>We may update this Privacy Policy from time to time. Changes will be posted on this page
with an updated "Last updated" date.</p>
</section>

<section>
<h2>Contact</h2>
<p>If you have questions about this Privacy Policy, contact us at
<span class="obfuscated-email" data-u="ycavirp" data-d="moc.nosj2tcid">[enable JavaScript to view email]</span>.
</p>
</section>

<p><a href="/">&larr; Back to converter</a></p>
</main>
<script>
(function () {
document.querySelectorAll('.obfuscated-email').forEach(function (el) {
var u = el.dataset.u.split('').reverse().join('');
var d = el.dataset.d.split('').reverse().join('');
var email = u + '@' + d;
var a = document.createElement('a');
a.href = 'mailto:' + email;
a.textContent = email;
el.replaceWith(a);
});
})();
</script>
</body>
</html>
Loading