poke/html/priv.ejs
2025-10-11 13:52:36 +02:00

543 lines
25 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!--
This Source Code Form is subject to the terms of the GNU General Public License:
Copyright (C) 2021-2025 Poke (https://codeberg.org/ashley/poke)
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License, version 3 of the License,
or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see https://www.gnu.org/licenses/.
-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Poke — Privacy Policy</title>
<meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover" />
<meta content="website" property="og:type">
<meta content="PokeTube - Legal thingy to put you into sleep" property="og:title">
<meta content="This is the PokeTube Privacy Policy meta description. Wow, helpful meta description Poke. Thanks!" property="twitter:description">
<meta property="og:image" content="/static/poke.webp">
<meta content="summary_large_image" name="twitter:card">
<link href="/css/yt-ukraine.svg?v=7" rel="icon">
<style>
@font-face {
src: url("https://p.poketube.fun/https://cdn.glitch.global/43b6691a-c8db-41d4-921c-8cf6aa0d9108/robotoflex.ttf?v=16683434286881");
font-family: "PokeTube Flex";
font-style: normal;
font-stretch: 1% 800%;
font-display: swap;
}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{
font-family: "poketube flex", sans-serif;
line-height:1.6;
color:#eaeaea;
background:
radial-gradient(1200px 600px at 0% 0%, #0ea5e9 0%, #0ea5e900 60%),
radial-gradient(1000px 700px at 100% 0%, #8b5cf6 0%, #8b5cf600 65%),
radial-gradient(1000px 700px at 0% 100%, #14b8a6 0%, #14b8a600 65%),
#0b0b0b;
}
a{color:#7dd3fc;text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}
code,pre,kbd,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","DejaVu Sans Mono",monospace;font-size:.95em}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","DejaVu Sans Mono",monospace}
/* ===== Layout ===== */
.wrap{max-width:980px;margin:0 auto;padding:20px}
header.site{
position:sticky;top:0;z-index:10;
background:rgba(17,17,18,.8);
backdrop-filter:blur(8px);
border-bottom:1px solid #232323;
}
.nav-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px}
.brand{display:inline-flex;align-items:center;gap:10px;color:#fff;font-weight:800;letter-spacing:.2px;text-decoration:none}
.brand img{height:32px}
/* Article typography */
.doc-title { margin: 0 0 6px 0; font-size: clamp(1.6rem, 3vw, 2.2rem); letter-spacing:.2px; font-stretch: extra-expanded;}
.doc-lede { margin: 6px 0 16px 0; color: #cfcfcf; }
.meta-row {
display: flex; flex-wrap: wrap; gap: 10px; align-items: center;
margin: 10px 0 18px 0;
}
.meta {
background: #0c1114; border: 1px solid #132029; color: #d2ebff;
border-radius: 12px; padding: 8px 10px; font-size: .93rem;
}
.callout {
background: #0c1114; border: 1px solid #132029; color: #d2ebff;
padding: 12px 14px; border-radius: 14px; margin: 10px 0 18px 0;
}
h2.section {
margin: 22px 0 8px 0;
font-size: clamp(1.24rem, 2.4vw, 1.6rem);
padding-bottom: 6px;
border-bottom: 1px solid #1f1f22;
font-stretch: extra-expanded;
}
p { margin: 10px 0; color: #e7e7e7; }
ul { margin: 10px 0 10px 22px; }
.grid-2 {
display: grid; gap: 12px; grid-template-columns: 1fr 1fr;
}
/* Simple containers */
.hero{padding:22px 0 8px}
.toc{
background:#101112;border:1px solid #1f1f22;border-radius:12px;
padding:12px;margin:14px 0 20px 0
}
.toc h2{margin:0 0 8px 0;font-size:1rem;color:#e8f6ff}
.toc ul{margin:0;padding-left:18px}
.toc li{margin:6px 0}
section{padding-top:16px;margin-top:16px}
.small{font-size:.925rem}
details{background:#0f1012;border:1px solid #1d2024;border-radius:10px;padding:10px 12px;margin:10px 0}
details summary{cursor:pointer;font-weight:600}
.update-box{
margin:14px 0 20px 0;padding:12px;border-radius:12px;
background:#0e1217;border:1px solid #152234
}
.update-box h3{margin:0 0 8px 0;font-size:1.05rem;color:#e9f7ff}
.update-box .when{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;font-size:.85rem;color:#cfe8ff;background:#0c1b27;border:1px solid #193347}
.update-actions{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap}
.update-actions a,.update-actions button{appearance:none;border:1px solid #234a61;background:#0d1d28;color:#cfe8ff;padding:6px 10px;border-radius:10px;cursor:pointer;font-size:.92rem}
.update-actions a:hover,.update-actions button:hover{background:#0f2432;border-color:#2d5d7a}
footer.site{text-align:center;color:#bdbdbd;margin:40px 0 60px}
@media (max-width:720px){
.wrap{padding:16px}
.brand img{height:28px}
.grid-2{grid-template-columns:1fr}
}
@media print{
header.site{display:none!important}
body{background:#fff;color:#000}
a{color:#0645ad}
.update-box,.callout,.toc{border-color:#999;background:#fff}
}
</style>
</head>
<body>
<header class="site" role="banner" aria-label="Site header">
<div class="nav-row wrap">
<a class="brand" href="/" aria-label="Poke home">
<img src="/css/logo-poke.svg?v=5" alt="Poke logo">
</a>
</div>
</header>
<main class="wrap" role="main">
<section class="hero" aria-label="Intro" style="border-top: none;">
<h1 class="doc-title" style="text-align: center;font-size: 4em;font-weight: 1000;font-stretch: extra-condensed;">we dont track YOU!</h1>
<p class="doc-lede">
<strong>We dont collect any data about you.</strong> No telemetry, no trackers! Because Poke is <strong>free software</strong>, you can also check the source and self-host.
</p>
<div class="meta-row" aria-label="Document metadata">
<span class="badge">Instance: <span class="mono">poketube.fun</span></span>
<span class="badge">Version date: <time datetime="2025-10-11">October 11, 2025</time></span>
</div>
</section>
<!-- What's New / Privacy Update -->
<section id="whats-new" class="update-box" aria-labelledby="whats-new-heading" role="region">
<h3 id="whats-new-heading">
Whats New — Policy Update
<span class="when">October 11, 2025</span>
</h3>
<p style="margin-top:6px">
Highlights:
</p>
<ul>
<li><strong>New UI:</strong> simpler and better layout (yay!)</li>
</ul>
<div class="update-actions" aria-label="Update actions">
<button type="button" id="dismissUpdate" aria-label="Dismiss this update notice">Dismiss</button>
</div>
</section>
<!-- Contents -->
<nav class="toc" aria-label="Table of contents">
<h2>Contents</h2>
<ul>
<li><a href="#overview">Overview</a></li>
<li><a href="#summary">TL;DR</a></li>
<li><a href="#ownership">Ownership</a></li>
<li><a href="#initiative-privacy">Initiative Site Privacy</a></li>
<li><a href="#what-we-collect">What We Do/Dont Collect</a></li>
<li><a href="#cookies">Cookies &amp; Storage</a></li>
<li><a href="#openstreetmap">OpenStreetMap</a></li>
<li><a href="#weather">Weather Pages &amp; Services</a></li>
<li><a href="#translate">Translate Page (SimplyTranslate)</a></li>
<li><a href="#third-parties">Third-Party Requests &amp; Proxy</a></li>
<li><a href="#api-logs">API Logs Policy</a></li>
<li><a href="#legal-bases">Legal Bases (GDPR)</a></li>
<li><a href="#your-rights">Your Rights</a></li>
<li><a href="#retention">Data Retention</a></li>
<li><a href="#javascript">JavaScript &amp; No-JS</a></li>
<li><a href="#self-host">Self-Hosting</a></li>
<li><a href="#changes">Changes to this Policy</a></li>
<li><a href="#history">Document History</a></li>
<li><a href="#warranty">Warranty Disclaimer</a></li>
<li><a href="#contact">Contact</a></li>
<li><a href="#license">Policy License</a></li>
</ul>
</nav>
<!-- Overview / Preamble -->
<section id="overview" aria-labelledby="preamble-heading">
<h2 id="preamble-heading" class="section">Preamble</h2>
<p>
Welcome to Pokes Privacy Policy. We dont collect data about you and we dont run telemetry. Poke is <strong>free software</strong> you can read, remix, and run yourself.
</p>
<p class="callout">Not legal advice lol</p>
</section>
<!-- TL;DR -->
<section id="summary" aria-labelledby="summary-heading">
<h2 id="summary-heading" class="section">TL;DR</h2>
<div>
<ul>
<li><strong>No data collected.</strong> at all!!</li>
<li><strong>No telemetry.</strong> We dont phone home.</li>
<li><strong>No third-party trackers.</strong> Yippe!!</li>
<li><strong>YouTube cant see what you watch here.</strong> Its all done on the backend.</li>
</ul>
<ul>
<li><strong>Poke Account:</strong> no email required, no personal info needed.</li>
<li><strong>Poke Maps:</strong> uses OpenStreetMap data; map tiles/attribution may have separate privacy rules depending on the tile server you use.</li>
<li><strong>No required cookies.</strong> Preferences (like theme or layout) may live in local storage on your device.</li>
</ul>
</div>
</section>
<!-- Ownership -->
<section id="ownership" aria-labelledby="ownership-heading">
<h2 id="ownership-heading" class="section">Ownership</h2>
<p>
The Poke service and this default instance (<span class="mono">poketube.fun</span>) are owned and operated by the <strong>Poke Project</strong>.
Learn more at <a href="https://initiative.poketube.fun/" rel="noopener">initiative.poketube.fun</a>.
</p>
</section>
<!-- Initiative site privacy -->
<section id="initiative-privacy" aria-labelledby="initiative-privacy-heading">
<h2 id="initiative-privacy-heading" class="section">Initiative Site Privacy</h2>
<p>
The informational website at <a href="https://initiative.poketube.fun/" rel="noopener">initiative.poketube.fun</a> does not collect personal information.
For hosting-related processing, the <strong>Codeberg</strong> privacy policy applies:
<a href="https://codeberg.org/Codeberg/org/src/branch/main/PrivacyPolicy.md" target="_blank" rel="noopener">codeberg.org/Codeberg/org/src/branch/main/PrivacyPolicy.md</a>.
</p>
</section>
<!-- What we collect -->
<section id="what-we-collect" aria-labelledby="collect-heading">
<h2 id="collect-heading" class="section">What We Do/Dont Collect</h2>
<details class="block" open>
<summary>We collect <em>nothing</em> about you</summary>
<p>
We dont store IP addresses, user-agent fingerprints, unique identifiers, emails, names—none of it. Theres no telemetry or “anonymous crash reports.”
</p>
</details>
<details class="block">
<summary>What exists briefly so the internet works</summary>
<p>
Your browser and our server exchange data to deliver pages (thats how HTTP works). That info is handled <em>transiently</em> and not logged in a way that identifies you on our primary instance.
</p>
</details>
<details class="block">
<summary>Poke Account</summary>
<p>
If you make a Poke account, we dont require an email or personal details.
</p>
</details>
</section>
<!-- Cookies & storage -->
<section id="cookies" aria-labelledby="cookies-heading">
<h2 id="cookies-heading" class="section">Cookies &amp; Local Storage</h2>
<ul>
<li><strong>No cookies :D!</strong></li>
<li><strong>Local storage only for preferences</strong> (e.g., theme, layout). This stays on your device.</li>
</ul>
<p class="small">
To remove data stored in your browser, you can use your browsers cookie/site-data controls: <br>
<a href="https://support.google.com/chrome/answer/2392709" rel="noopener" target="_blank">· Chrome</a> <br>
<a href="https://support.mozilla.org/kb/clear-cookies-and-site-data-firefox" rel="noopener" target="_blank">· Firefox</a> <br>
<a href="https://support.apple.com/HT201265" rel="noopener" target="_blank">· Safari (iOS)</a> <br>
<a href="https://support.apple.com/guide/safari/manage-cookies-and-website-data-sfri11471/mac" rel="noopener" target="_blank"> · Safari (macOS)</a> <br>
<a href="https://support.microsoft.com/en-us/windows/manage-cookies-in-microsoft-edge-view-allow-block-delete-and-use-168dab11-0753-043d-7c16-ede5947fc64d" rel="noopener" target="_blank">· Edge</a> <br>
<a href="https://support.brave.app/hc/en-us/articles/360048833872-How-Do-I-Clear-Cookies-And-Site-Data-In-Brave" rel="noopener" target="_blank">· Brave</a>
</p>
</section>
<!-- OpenStreetMap -->
<section id="openstreetmap" aria-labelledby="osm-heading">
<h2 id="osm-heading" class="section">OpenStreetMap</h2>
<p>
Poke Maps uses data from <a href="https://www.openstreetmap.org/" target="_blank" rel="noopener">OpenStreetMap</a> — a community-driven, free-licensed world map built by thousands of volunteer contributors.
</p>
<p>
When you visit <a href="/map">/map</a>, Poke displays OpenStreetMap through a simple <strong>&lt;iframe&gt;</strong> element embedded directly into the site.
This means the map interface and tiles (streets, landmarks, terrain, etc.) are loaded from OpenStreetMaps own tile servers rather than from Pokes infrastructure.
</p>
<p>
Poke does not proxy or modify these map requests — your browser connects directly to the third-party domain
<a href="https://www.openstreetmap.org/" target="_blank" rel="noopener">openstreetmap.org</a>
(and its associated tile servers) in order to display the map visuals.
</p>
<p>
While Poke itself does not collect or log any identifying information about your visit to the map, OpenStreetMaps servers may process standard connection details (such as IP address, timestamp, and request type) as part of normal web delivery.
You can read more in their official
<a href="https://wiki.osmfoundation.org/wiki/Privacy_Policy" target="_blank" rel="noopener">OpenStreetMap Foundation Privacy Policy</a>.
</p>
</section>
<!-- Weather -->
<section id="weather" aria-labelledby="weather-heading">
<h2 id="weather-heading" class="section">Weather Pages &amp; Services</h2>
<p>
Pokes weather pages use third-party, privacy-respecting services to resolve places and fetch forecasts.
</p>
<details class="block">
<summary><strong>Geocoding / Place Lookup</strong></summary>
<p>
Uses <a href="https://nominatim.openstreetmap.org/" rel="noopener" target="_blank">nominatim.openstreetmap.org</a> (OpenStreetMap Nominatim).
Privacy: <a href="https://osmfoundation.org/wiki/Privacy_Policy" rel="noopener" target="_blank">OSMF Privacy Policy</a>.
</p>
<p><strong>How it works:</strong></p>
<ul>
<li>
The request is always proxied through Pokes backend — never directly from your browser.
(<a href="https://codeberg.org/ashley/poke/src/branch/main/src/libpoketube/init/pages-api.js#L78" target="_blank" rel="noopener">See source</a>)
</li>
</ul>
</details>
<details class="block">
<summary><strong>Forecast Data</strong></summary>
<p>
Uses <a href="https://open-meteo.com/" rel="noopener" target="_blank">open-meteo.com</a> for weather forecasts.
Privacy: <a href="https://open-meteo.com/en/terms#privacy" rel="noopener" target="_blank">Open-Meteo Terms &amp; Privacy</a>.
</p>
<p><strong>How it works:</strong></p>
<ul>
<li>
All forecast queries are proxied through Pokes backend. Your browser never connects to Open-Meteo directly.
</li>
<li>
Only essential parameters (latitude, longitude, units, etc.) are forwarded.
<a href="https://codeberg.org/ashley/poke/src/branch/main/src/libpoketube/init/pages-api.js#L108" target="_blank" rel="noopener">See source here</a>.
</li>
</ul>
</details>
</section>
<p class="callout">
Poke does not add trackers to these requests. However, when third-party services are contacted (directly or via proxy),
their respective privacy policies apply to those specific requests.
</p>
</section>
<!-- Translate -->
<section id="translate" aria-labelledby="translate-heading">
<h2 id="translate-heading" class="section">Translate Page (SimplyTranslate)</h2>
<p>
Our translate page does <strong>not</strong> send your data directly to Google or SimplyTranslate.org from your browser.
Instead, all requests are proxied through our own backend servers.
When you use the page, only the necessary parameters are passed securely on the server side:
<code>from</code> (source language), <code>to</code> (target language), and <code>text</code> (the content you entered).
Your browser never connects to SimplyTranslate.org directly.
</p>
<p>
We rely on the community-run
<a href="https://simplytranslate.org/" rel="noopener" target="_blank">SimplyTranslate</a> service (a privacy-friendly
translation front-end). SimplyTranslate is a <strong>free software</strong> project: you can see the
<a href="https://codeberg.org/ManeraKai/simplytranslate" rel="noopener" target="_blank">source code</a> and its
<a href="https://codeberg.org/ManeraKai/simplytranslate/raw/branch/main/legal_notice.txt" rel="noopener" target="_blank">legal notice</a>.
Our backend integration is handled in
<a href="https://codeberg.org/ashley/poke/src/branch/main/src/libpoketube/init/pages-static.js#L208" target="_blank" rel="noopener">
Pokes server code
</a>.
</p>
</section>
<!-- Placeholder anchor to preserve original TOC link -->
<section id="third-parties" aria-label="Third-Party Requests & Proxy"></section>
<!-- API Logs Policy -->
<section id="api-logs" aria-labelledby="api-logs-heading">
<h2 id="api-logs-heading" class="section">API Logs Policy</h2>
<p>
When you request any resource from the Poke API (for example: thumbnails, API endpoint) information about the request may be logged.
</p>
<p>Information about a request is limited to:</p>
<ul>
<li>the time the request was made</li>
<li>the status code of the response</li>
<li>the method of the request</li>
<li>the requested URL</li>
<li>how long it took to complete the request.</li>
</ul>
<p>
<strong>No identifying information is logged</strong>, such as the visitors cookie, user-agent, or IP address.
</p>
<details class="block">
<summary>Example log lines</summary>
<pre class="small" style="white-space:pre-wrap;margin:8px 0;">
2019-01-19 16:37:47 +00:00 200 GET /api/v1/comments/xrlETJYzH-c?format=html&amp;hl=en-US 1345.88ms
2019-01-19 16:37:53 +00:00 200 GET /vi/r5P-f5arPXE/maxres.jpg 1085.41ms
2019-01-19 16:37:54 +00:00 200 GET /watch 7.04ms
</pre>
</details>
<p>
This website does not store the visitors user-agent or IP address and does not use fingerprinting, advertisements, or tracking of any form.
</p>
</section>
<!-- Legal bases -->
<section id="legal-bases" aria-labelledby="gdpr-heading">
<h2 id="gdpr-heading" class="section">Legal Bases for Processing (GDPR)</h2>
<ul>
<li><strong>Legitimate interests:</strong> Running Poke smoothly while collecting exactly zero personal data.</li>
<li><strong>Consent:</strong> If we ever invent an optional feature that needs info, well ask. But right now? Theres nothing to consent to.</li>
<li><strong>Legal obligation:</strong> Even if someone waves a fancy piece of paper at us, we literally have nothing personal to hand over. Empty pockets.</li>
</ul>
</section>
<!-- Your rights -->
<section id="your-rights" aria-labelledby="rights-heading">
<h2 id="rights-heading" class="section">Your Privacy Rights</h2>
<p>
Since Poke doesnt collect or store personal data, theres basically nothing for us to give, sell, or lose about you.
You dont have to worry about “export my data” or “delete my profile” requests because we dont have anything on you in the first place.
</p>
<p>
Poke Accounts dont require an email, name, or any other identifying info — and theres no way to add that kind of data even if you wanted to.
</p>
</section>
<!-- Data Retention -->
<section id="retention" aria-labelledby="retention-heading">
<h2 id="retention-heading" class="section">Data Retention</h2>
<ul>
<li><strong>Server logs:</strong> No personal identifiers on our main instance.</li>
<li><strong>Telemetry/analytics:</strong> Not enabled here.</li>
</ul>
</section>
<!-- JavaScript & No-JS -->
<section id="javascript" aria-labelledby="javascript-heading">
<h2 id="javascript-heading" class="section">JavaScript &amp; No-JS</h2>
<p>
JavaScript is <strong>optional</strong> on Pokes websites. Core features—including search—work without JavaScript.
</p>
</section>
<!-- Self-host -->
<section id="self-host" aria-labelledby="selfhost-heading">
<h2 id="selfhost-heading" class="section">Self-Hosting</h2>
<p>
Poke is free software under the <strong>GNU GPL v3.0 or later</strong>. you can self-host it yourself! <a href="https://codeberg.org/ashley/poke/#hosting-poke"> see here </a>
</p>
</section>
<!-- Changes -->
<section id="changes" aria-labelledby="changes-heading">
<h2 id="changes-heading" class="section">Changes to this Policy</h2>
<p>
If we ever change how privacy works here, well update the date at the top and announce major changes. Spoiler: changes would not include adding two bananas. this isnt minions LOL :3
</p>
</section>
<!-- Document History -->
<section id="history" aria-labelledby="history-heading">
<h2 id="history-heading" class="section">Document History</h2>
<p>
You can view the full edit history for this policy at:
<a href="https://codeberg.org/ashley/poke/commits/branch/main/html/priv.ejs" target="_blank" rel="noopener">codeberg.org</a>.
</p>
</section>
<!-- Warranty Disclaimer -->
<section id="warranty" aria-labelledby="warranty-heading">
<h2 id="warranty-heading" class="section">Warranty Disclaimer</h2>
<pre class="small" style="white-space:pre-wrap;margin:8px 0;">
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER,
OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM
(E.G., LOSS OF DATA, DATA BEING RENDERED INACCURATE, OR FAILURES OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
</pre>
</section>
<!-- Contact -->
<section id="contact" aria-labelledby="contact-heading">
<h2 id="contact-heading" class="section">Contact</h2>
<p>
Questions or concerns? Open an issue on our project tracker :D
</p>
<ul>
<li>Project: <span class="mono">codeberg.org/Ashley/poke</span></li>
<li>Initiative: <a href="https://initiative.poketube.fun/" rel="noopener">initiative.poketube.fun</a></li>
</ul>
</section>
<!-- License -->
<section id="license" aria-labelledby="license-heading">
<h2 id="license-heading" class="section">Policy License</h2>
<p class="small">
© 20212025 Poke (Poke Project). This policy is licensed under the
<strong>Creative Commons AttributionShareAlike 4.0 International</strong> (CC BY-SA 4.0).
</p>
</section>
<footer class="site small" aria-label="Document footer">
<p><a href="#top">Return to Top</a></p>
</footer>
</main>
<script>
(function(){
const updateBox = document.getElementById('whats-new');
const dismissBtn = document.getElementById('dismissUpdate');
const KEY = 'poke_privacy_update_2025_10_11_dismissed';
try{
if(localStorage.getItem(KEY)==='1'){ updateBox && (updateBox.hidden = true); }
}catch{}
dismissBtn && dismissBtn.addEventListener('click', function(){
updateBox.hidden = true;
try{ localStorage.setItem(KEY,'1'); }catch{}
});
})();
</script>
</body>
</html>