First Version

This commit is contained in:
2026-04-17 00:26:03 +01:00
parent aecd1a5574
commit c826ed6502
37 changed files with 4862 additions and 19 deletions

519
privacy.html Normal file
View File

@@ -0,0 +1,519 @@
<!DOCTYPE html>
<html data-theme="crimson" lang="en">
<head>
<meta charset="utf-8"/>
<meta content="width=device-width, initial-scale=1.0" name="viewport"/>
<title>Privacy Policy | ArcaneNeko</title>
<meta content="ArcaneNeko Privacy Policy, how we handle your data across all our services." name="description"/>
<meta content="website" property="og:type"/>
<meta content="https://arcaneneko.com/privacy.html" property="og:url"/>
<meta content="Privacy Policy | ArcaneNeko" property="og:title"/>
<meta content="How ArcaneNeko handles your data across all services, plain English, GDPR compliant." property="og:description"/>
<meta content="https://arcaneneko.com/og-image.png" property="og:image"/>
<meta content="#dc143c" name="theme-color"/>
<link href="favicon.svg" rel="icon" type="image/svg+xml"/>
<link href="css/index.css" rel="stylesheet"/>
<link href="https://fonts.googleapis.com" rel="preconnect"/>
<link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"/>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&amp;display=swap" rel="stylesheet"/>
</head>
<body><a class="skip-link" href="#mainContent">Skip to main content</a>
<!-- Scroll progress bar (legal pages) -->
<div aria-label="Reading progress" aria-valuemax="100" aria-valuemin="0" aria-valuenow="0" class="scroll-progress" id="scrollProgress" role="progressbar"></div>
<!-- Navbar -->
<nav aria-label="Main navigation" class="navbar" role="navigation">
<div class="nav-container">
<a aria-label="ArcaneNeko home" class="nav-logo" href="#">Arcane<span>Neko</span></a>
<ul class="nav-links" role="list">
<li><a href="index#about">About</a></li>
<li><a href="index#services">Services</a></li>
<li><a href="index#projects">Projects</a></li>
<li><a href="https://status.arcaneneko.com" target="_blank" rel="noopener noreferrer">Status</a></li>
<li><a href="https://neovoxis.com" target="_blank" rel="noopener noreferrer">Neovoxis</a></li>
</ul>
<div class="nav-actions">
<button aria-label="Switch theme" class="theme-toggle" id="themeToggle" title="Switch theme"></button>
<button aria-controls="mobileMenu" aria-expanded="false" aria-label="Open menu" class="hamburger" id="hamburger">
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
</button>
</div>
</div>
<div class="mobile-menu" id="mobileMenu" role="menu">
<a href="index#about" role="menuitem">About</a>
<a href="index#services" role="menuitem">Services</a>
<a href="index#projects" role="menuitem">Projects</a>
<a href="https://status.arcaneneko.com" target="_blank" rel="noopener noreferrer" role="menuitem">Status</a>
<a href="https://neovoxis.com" target="_blank" rel="noopener noreferrer" role="menuitem">Neovoxis</a>
</div>
</nav>
<!-- Hero -->
<div class="legal-hero">
<div class="legal-tag">Legal</div>
<h1>Privacy <span>Policy</span></h1>
<p class="legal-meta">Last updated: April 2026  ·  Applies to all ArcaneNeko services</p>
</div>
<!-- Content -->
<div class="legal-wrap">
<!-- Table of Contents -->
<aside class="legal-toc" id="legalToc"><button aria-controls="privacyTocPanel" aria-expanded="false" class="legal-toc-toggle" type="button">Contents</button><div class="legal-toc-panel" id="privacyTocPanel"><ul>
<li><a href="#intro">Introduction</a></li>
<li><a href="#who-we-are">Who we are</a></li>
<li><a href="#website">Main Website &amp; Arcane Status</a></li>
<li><a href="#git">Git Hosting</a></li>
<li><a href="#neovoxis">Neovoxis</a></li>
<li><a href="#encryption">Encryption &amp; Security</a></li>
<li><a href="#sharing">Data Sharing</a></li>
<li><a href="#retention">Data Retention</a></li>
<li><a href="#cookies">Cookies</a></li>
<li><a href="#your-rights">Your Rights</a></li>
<li><a href="#transfers">International Transfers</a></li>
<li><a href="#contact">Contact &amp; Complaints</a></li>
<li><a href="#changes">Changes to this Policy</a></li>
</ul></div></aside>
<!-- Main content -->
<article class="legal-content" id="mainContent">
<!-- Introduction -->
<section class="legal-section" id="intro">
<h2><span class="section-num">01</span> Introduction</h2>
<p>This Privacy Policy explains what personal data ArcaneNeko collects, why we collect it, and how we use it. We've written this in plain English, no dense legal walls of text. If something isn't clear, please get in touch.</p>
<p>We are based in the United Kingdom and our services are available globally. We operate in compliance with the <strong>UK GDPR</strong> and, where applicable, the <strong>EU GDPR</strong>. Both laws give you strong rights over your personal data, which are explained in the <a href="#your-rights">Your Rights</a> section.</p>
<div class="callout callout--info">
<p class="callout-title">Our approach</p>
<p>We believe in collecting as little data as possible and being transparent about what we do collect. We don't sell your data, we don't run ads, and we never will.</p>
</div>
<div class="answer-strip">
<div><strong>What this page answers</strong><span>What we collect, why, how long we keep it, and your rights</span></div>
<div><strong>What we don't do</strong><span>Sell data, run ads, or use third-party analytics scripts on the main site</span></div>
<div><strong>Questions?</strong><span><a href="#contact">Jump to contact options</a></span></div>
</div>
</section>
<section aria-labelledby="privacy-glance-title" class="legal-at-a-glance reveal">
<div class="section-kicker">Quick read</div>
<h2 id="privacy-glance-title">At a glance</h2>
<div class="summary-grid">
<div class="summary-card"><h3>We keep collection minimal</h3><p>We collect only what we need to run the service, secure it, and support your account.</p></div>
<div class="summary-card"><h3>We do not sell data</h3><p>No ads, no data selling, and no marketing trackers across the services described here.</p></div>
<div class="summary-card"><h3>Different services collect different things</h3><p>The main site logs basic server data, while accounts and hosted content only exist on the services that need them.</p></div>
<div class="summary-card"><h3>DMs are different</h3><p>Neovoxis direct messages are end-to-end encrypted, so ArcaneNeko cannot read their content.</p></div>
<div class="summary-card"><h3>You have rights</h3><p>You can ask for access, correction, deletion, or restriction depending on the law that applies to you.</p></div>
<div class="summary-card"><h3>Questions are easy to route</h3><p>Use the contact options near the end of the page for privacy, support, abuse, or security concerns.</p></div>
</div>
</section>
<section aria-labelledby="service-differences-title" class="legal-overview reveal">
<div class="section-kicker">Compare services</div>
<h2 id="service-differences-title">What each service collects</h2>
<div class="comparison-grid">
<div class="comparison-card"><h3>Main website &amp; Arcane Status</h3><p>Basic server logs like IP address, browser details, pages visited, timestamps, and referrers. No accounts. No analytics scripts.</p></div>
<div class="comparison-card"><h3>Git hosting</h3><p>Account details, repository content, SSH/GPG keys if you add them, and security logs needed to run the service.</p></div>
<div class="comparison-card"><h3>Neovoxis</h3><p>Account details, server content, media, and security logs. Direct messages are end-to-end encrypted and not readable by ArcaneNeko.</p></div>
</div>
</section>
<!-- Who we are -->
<section class="legal-section" id="who-we-are">
<h2><span class="section-num">02</span> Who We Are</h2>
<p>The data controller for all ArcaneNeko services is <strong>ArcaneNeko</strong>, a software team based in the United Kingdom.</p>
<p>If you have any privacy-related questions or requests, contact us at: <a href="mailto:legal@arcaneneko.com">legal@arcaneneko.com</a></p>
<h3>Services covered by this policy</h3>
<ul>
<li><strong>arcaneneko.com</strong> - our main website</li>
<li><strong>git.arcaneneko.com</strong> - our Gitea-powered git hosting service</li>
<li><strong>Arcane Status</strong> - our open source status page software and hosted instance</li>
<li><strong>neovoxis.com</strong> - our chat and community platform</li>
</ul>
</section>
<!-- Main website & Arcane Status -->
<section class="legal-section" id="website">
<h2><span class="section-num">03</span> Main Website &amp; Arcane Status</h2>
<p>When you visit <strong>arcaneneko.com</strong> or the <strong>Arcane Status</strong> instance at status.arcaneneko.com, we collect only the data that any web server automatically logs. There are no user accounts, no marketing tracking, and no third-party analytics scripts.</p>
<h3>What we collect</h3>
<table class="data-table">
<thead>
<tr>
<th>Data</th>
<th>Why</th>
<th>Legal basis</th>
</tr>
</thead>
<tbody>
<tr>
<td>IP address</td>
<td>Security, abuse prevention, diagnosing server errors</td>
<td>Legitimate interests</td>
</tr>
<tr>
<td>Browser type &amp; version</td>
<td>Ensuring the site works correctly across browsers</td>
<td>Legitimate interests</td>
</tr>
<tr>
<td>Operating system</td>
<td>Compatibility testing and debugging</td>
<td>Legitimate interests</td>
</tr>
<tr>
<td>Pages visited &amp; timestamps</td>
<td>Understanding usage, debugging errors</td>
<td>Legitimate interests</td>
</tr>
<tr>
<td>Referring URL</td>
<td>Understanding where visitors come from</td>
<td>Legitimate interests</td>
</tr>
</tbody>
</table>
<p>This data is held in standard server access logs and is not linked to any personal account. It is typically retained for up to 30 days and then deleted.</p>
<div class="callout callout--info">
<p class="callout-title">Note on Arcane Status software</p>
<p>Arcane Status is open source software distributed under the MIT License. When you self-host it, <strong>you</strong> become the data controller for your own instance. This policy only applies to our hosted instance at status.arcaneneko.com.</p>
</div>
</section>
<!-- Git hosting -->
<section class="legal-section" id="git">
<h2><span class="section-num">04</span> Git Hosting (git.arcaneneko.com)</h2><div class="mini-summary"><strong>In short:</strong> Git hosting needs account information and repository data to work. Public repositories are public, and private repositories stay private unless you choose otherwise.</div>
<p>Our git hosting service is powered by <strong>Gitea</strong> and allows anyone to create a free account to host repositories, file issues, and collaborate on code.</p>
<h3>What we collect</h3>
<table class="data-table">
<thead>
<tr>
<th>Data</th>
<th>Why</th>
<th>Legal basis</th>
</tr>
</thead>
<tbody>
<tr>
<td>Username</td>
<td>Identifies your account and is shown publicly</td>
<td>Contractual necessity</td>
</tr>
<tr>
<td>Email address</td>
<td>Account login, password resets, git commit attribution</td>
<td>Contractual necessity</td>
</tr>
<tr>
<td>Display name</td>
<td>Shown on your profile and contributions</td>
<td>Contractual necessity</td>
</tr>
<tr>
<td>Password (hashed)</td>
<td>Account authentication. We never store your plain password, only a secure one-way hash (bcrypt).</td>
<td>Contractual necessity</td>
</tr>
<tr>
<td>SSH / GPG keys</td>
<td>Secure access to repositories (only if you add them)</td>
<td>Contractual necessity</td>
</tr>
<tr>
<td>Repository content</td>
<td>Storing and serving your code, issues, and comments</td>
<td>Contractual necessity</td>
</tr>
<tr>
<td>IP address &amp; server logs</td>
<td>Security, abuse prevention, debugging</td>
<td>Legitimate interests</td>
</tr>
</tbody>
</table>
<h3>Public vs private repositories</h3>
<p>Content in <strong>public repositories</strong> (code, commits, issues, comments) is visible to anyone. If you want your code to remain private, use a private repository. Please be mindful about what information you include in commits, as commit history is permanent and public once pushed to a public repo.</p>
<h3>Account deletion</h3>
<p>You can delete your account at any time through your account settings. Your account data is deleted within 30 days. Note that commits attributed to your email in other users' repositories may remain, as removing them would alter repository history.</p>
</section>
<!-- Neovoxis -->
<section class="legal-section" id="neovoxis">
<h2><span class="section-num">05</span> Neovoxis (neovoxis.com)</h2><div class="mini-summary"><strong>In short:</strong> Neovoxis needs account and platform data to function, but direct messages are end-to-end encrypted and unreadable by ArcaneNeko.</div>
<p>Neovoxis is our chat and community platform, currently in early preview. We've designed it with privacy in mind, particularly for private conversations.</p>
<h3>What we collect</h3>
<table class="data-table">
<thead>
<tr>
<th>Data</th>
<th>Why</th>
<th>Legal basis</th>
</tr>
</thead>
<tbody>
<tr>
<td>Username</td>
<td>Identifies you on the platform</td>
<td>Contractual necessity</td>
</tr>
<tr>
<td>Email address</td>
<td>Account creation, login, and password resets</td>
<td>Contractual necessity</td>
</tr>
<tr>
<td>Password (hashed)</td>
<td>Account authentication. Stored as a secure hash only.</td>
<td>Contractual necessity</td>
</tr>
<tr>
<td>Server messages &amp; content</td>
<td>Delivering messages to other users; stored encrypted at rest</td>
<td>Contractual necessity</td>
</tr>
<tr>
<td>Direct messages (DMs)</td>
<td>Private conversations between users. <strong>End-to-end encrypted</strong>, we cannot read these.</td>
<td>Contractual necessity</td>
</tr>
<tr>
<td>Media &amp; file uploads</td>
<td>Serving uploaded files to recipients; stored encrypted at rest</td>
<td>Contractual necessity</td>
</tr>
<tr>
<td>IP address</td>
<td>Security, abuse prevention, rate limiting</td>
<td>Legitimate interests</td>
</tr>
<tr>
<td>Device &amp; browser information</td>
<td>Understanding what platforms our users are on, so we can prioritise compatibility and development</td>
<td>Legitimate interests</td>
</tr>
</tbody>
</table>
<div class="callout callout--lock">
<p class="callout-title">End-to-end encrypted direct messages</p>
<p>Direct Messages (DMs) on Neovoxis are <strong>end-to-end encrypted</strong>. This means only you and the person you're messaging can read them. ArcaneNeko cannot access the content of your DMs, not now, not ever. Even if we were compelled by law, we would be technically unable to hand over DM content.</p>
</div>
<div class="callout callout--info">
<p class="callout-title">Server messages &amp; media</p>
<p>Messages sent in servers (channels) and all uploaded media are <strong>encrypted at rest</strong> on our servers. Unlike DMs, these are not end-to-end encrypted, we hold the encryption keys, which are needed to deliver messages to all members. This is consistent with how similar platforms work.</p>
</div>
<h3>Future data collection</h3>
<p>Neovoxis is actively being developed. We may collect additional data in the future as new features are added. We will always update this Privacy Policy and notify users before doing so. Our commitment is to collect only what is genuinely necessary for the service.</p>
<h3>Account deletion</h3>
<p>You can request account deletion at any time. Your account, profile data, and server messages will be deleted within 30 days. Due to the nature of E2EE, your DM cryptographic keys are deleted, rendering encrypted DM content permanently inaccessible.</p>
</section>
<!-- Encryption -->
<section class="legal-section" id="encryption">
<h2><span class="section-num">06</span> Encryption &amp; Security</h2>
<p>We take the security of your data seriously. Here's a summary of our encryption approach:</p>
<table class="data-table">
<thead>
<tr>
<th>Service</th>
<th>Encryption</th>
</tr>
</thead>
<tbody>
<tr>
<td>All services</td>
<td>HTTPS (TLS) in transit for all web traffic</td>
</tr>
<tr>
<td>Passwords</td>
<td>Never stored in plain text, hashed using bcrypt</td>
</tr>
<tr>
<td>Neovoxis DMs</td>
<td>End-to-end encrypted. We cannot read them.</td>
</tr>
<tr>
<td>Neovoxis server messages</td>
<td>Encrypted at rest on our servers</td>
</tr>
<tr>
<td>Media &amp; file uploads</td>
<td>Encrypted at rest on our servers</td>
</tr>
</tbody>
</table>
<p>Despite our best efforts, no system is 100% secure. If you discover a security vulnerability, please contact us responsibly at <a href="mailto:security@arcaneneko.com">security@arcaneneko.com</a> before disclosing it publicly.</p>
</section>
<!-- Sharing -->
<section class="legal-section" id="sharing">
<h2><span class="section-num">07</span> Data Sharing</h2><div class="mini-summary"><strong>In short:</strong> We do not sell your data. Sharing only happens for infrastructure, legal obligations, or because you posted something publicly yourself.</div>
<p>We do not sell, rent, or trade your personal data. We do not share it with third parties for advertising or marketing purposes.</p>
<h3>When we may share data</h3>
<ul>
<li><strong>Legal obligations:</strong> If we receive a lawful request from UK or EU law enforcement authorities (e.g. a court order or warrant), we may be required to disclose certain data. We will challenge any requests we believe to be unlawful or disproportionate. Note that for DMs, we cannot comply even if compelled, as we don't hold the keys.</li>
<li><strong>Service providers:</strong> We may use third-party services to help run our infrastructure (e.g. hosting providers). These providers act as data processors under contract and are only permitted to use your data to provide the service to us.</li>
<li><strong>Your own actions:</strong> Content you post publicly (e.g. in public git repositories or public Neovoxis servers) is visible to anyone by design.</li>
</ul>
</section>
<!-- Retention -->
<section class="legal-section" id="retention">
<h2><span class="section-num">08</span> Data Retention</h2><div class="mini-summary"><strong>In short:</strong> We keep data only as long as needed for the service, account recovery, deletion processing, and backups.</div>
<p>We keep your data only for as long as it's needed:</p>
<table class="data-table">
<thead>
<tr>
<th>Data type</th>
<th>How long we keep it</th>
</tr>
</thead>
<tbody>
<tr>
<td>Server access logs</td>
<td>Up to 30 days</td>
</tr>
<tr>
<td>Git account data</td>
<td>Until you delete your account, then within 30 days</td>
</tr>
<tr>
<td>Neovoxis account data</td>
<td>Until you delete your account, then within 30 days</td>
</tr>
<tr>
<td>Neovoxis messages &amp; media</td>
<td>Until deleted by you or upon account deletion (within 30 days)</td>
</tr>
<tr>
<td>Backup copies</td>
<td>May persist in encrypted backups for up to 90 days after deletion</td>
</tr>
</tbody>
</table>
</section>
<!-- Cookies -->
<section class="legal-section" id="cookies">
<h2><span class="section-num">09</span> Cookies</h2>
<p>We use cookies and similar browser storage (<code>localStorage</code>) only where strictly necessary:</p>
<ul>
<li><strong>Session cookies:</strong> Used by our git and Neovoxis services to keep you logged in. These expire when you log out or close your browser.</li>
<li><strong>Theme preference:</strong> We store your chosen colour theme (crimson/dark/light) in your browser's <code>localStorage</code>. This never leaves your device.</li>
</ul>
<p>We do not use advertising cookies, third-party tracking cookies, or analytics cookies. No cookie consent banner is needed for strictly necessary cookies under UK/EU law.</p>
</section>
<!-- Your rights -->
<section class="legal-section" id="your-rights">
<h2><span class="section-num">10</span> Your Rights</h2><div class="mini-summary"><strong>In short:</strong> Depending on your location, you can request access, correction, deletion, objection, portability, or restriction.</div>
<p>Under the UK GDPR and EU GDPR, you have the following rights regarding your personal data. To exercise any of them, email us at <a href="mailto:legal@arcaneneko.com">legal@arcaneneko.com</a>. We will respond within <strong>30 days</strong>.</p>
<table class="data-table">
<thead>
<tr>
<th>Right</th>
<th>What it means</th>
</tr>
</thead>
<tbody>
<tr>
<td>Right of access</td>
<td>You can request a copy of the personal data we hold about you.</td>
</tr>
<tr>
<td>Right to rectification</td>
<td>You can ask us to correct inaccurate data. You can also update most data directly in your account settings.</td>
</tr>
<tr>
<td>Right to erasure</td>
<td>Also known as the "right to be forgotten." You can ask us to delete your personal data. Some data may need to be retained for legal or security reasons.</td>
</tr>
<tr>
<td>Right to restrict processing</td>
<td>You can ask us to pause processing your data in certain circumstances.</td>
</tr>
<tr>
<td>Right to data portability</td>
<td>You can request your data in a structured, machine-readable format.</td>
</tr>
<tr>
<td>Right to object</td>
<td>You can object to processing based on legitimate interests. We will stop unless we have compelling legitimate grounds.</td>
</tr>
<tr>
<td>Rights re: automated decisions</td>
<td>We do not make any automated decisions about you that have legal or significant effects.</td>
</tr>
</tbody>
</table>
</section>
<!-- International transfers -->
<section class="legal-section" id="transfers">
<h2><span class="section-num">11</span> International Data Transfers</h2>
<p>ArcaneNeko is based in the United Kingdom. If you access our services from outside the UK, your data may be transferred to and processed in the UK.</p>
<p>The European Commission has recognised the UK as providing an adequate level of data protection under GDPR. This means transfers from the EU/EEA to the UK are permitted without additional safeguards.</p>
<p>We do not routinely transfer data outside the UK or EU/EEA. If this changes, we will update this policy and ensure appropriate safeguards are in place.</p>
</section>
<!-- Contact & complaints -->
<section class="legal-section" id="contact">
<h2><span class="section-num">12</span> Contact &amp; Complaints</h2>
<div class="action-grid">
<a class="action-card" href="mailto:legal@arcaneneko.com"><span class="action-label">Privacy request</span><strong>legal@arcaneneko.com</strong><p>Access, correction, deletion, or privacy questions.</p></a>
<a class="action-card" href="mailto:security@arcaneneko.com"><span class="action-label">Security report</span><strong>security@arcaneneko.com</strong><p>Responsible disclosure or account compromise issues.</p></a>
<a class="action-card" href="mailto:support@arcaneneko.com"><span class="action-label">Account support</span><strong>support@arcaneneko.com</strong><p>Help with using the service or deleting your account.</p></a>
</div>
<p>For any privacy-related questions, requests, or concerns, please contact us:</p>
<ul>
<li><strong>Email:</strong> <a href="mailto:legal@arcaneneko.com">legal@arcaneneko.com</a></li>
</ul>
<h3>Right to lodge a complaint</h3>
<p>If you're based in the <strong>UK</strong>, you have the right to lodge a complaint with the <strong>Information Commissioner's Office (ICO)</strong>:</p>
<ul>
<li>Website: <a href="https://ico.org.uk" rel="noopener" target="_blank">ico.org.uk</a></li>
<li>Helpline: 0303 123 1113</li>
</ul>
<p>If you're based in the <strong>EU/EEA</strong>, you can also contact your local national data protection authority. A list of authorities is available at <a href="https://edpb.europa.eu/about-edpb/about-edpb/members_en" rel="noopener" target="_blank">edpb.europa.eu</a>.</p>
<p>We'd always prefer to resolve any issue directly with you first, please reach out before filing a formal complaint.</p>
</section>
<!-- Changes -->
<section class="legal-section" id="changes">
<h2><span class="section-num">13</span> Changes to this Policy</h2>
<p>We may update this Privacy Policy from time to time, for example when we add new features to our services. When we make significant changes, we will:</p>
<ul>
<li>Post the updated policy on this page with a new "last updated" date</li>
<li>Notify registered users of Neovoxis and our git service via email or an in-app notice</li>
</ul>
<p>Continuing to use our services after changes take effect means you accept the updated policy. If you disagree with changes, you can delete your account before they take effect.</p>
</section>
</article>
</div>
<!-- Footer -->
<footer class="footer" role="contentinfo">
<div class="container">
<div class="footer-inner">
<div class="footer-brand">
<a class="footer-logo" href="#">Arcane<span>Neko</span></a>
<p>Free open source software for developers and creators.</p>
<div class="footer-community" aria-label="Community links">
<a href="https://neovoxis.com" target="_blank" rel="noopener noreferrer" title="Join us on Neovoxis" aria-label="Join the ArcaneNeko community on Neovoxis">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z"/></svg>
</a>
<a href="https://git.arcaneneko.com" target="_blank" rel="noopener noreferrer" title="Git Instance" aria-label="Visit our Git instance">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="18" cy="18" r="3"/><circle cx="6" cy="6" r="3"/><path d="M6 21V9a9 9 0 009 9"/></svg>
</a>
</div>
</div>
<div class="footer-links-col">
<h4>Services</h4>
<a href="https://git.arcaneneko.com" target="_blank" rel="noopener noreferrer">Git Instance</a>
<a href="https://status.arcaneneko.com" target="_blank" rel="noopener noreferrer">Status Page</a>
<a href="https://neovoxis.com" target="_blank" rel="noopener noreferrer">Neovoxis</a>
<a href="status">Arcane Status</a>
</div>
<div class="footer-links-col">
<h4>Legal</h4>
<a href="privacy">Privacy Policy</a>
<a href="terms">Terms of Service</a>
<a href="contact">Contact Us</a>
</div>
</div>
<div class="footer-bottom">
<p>&copy; 2026 ArcaneNeko. All rights reserved.</p>
</div>
</div>
</footer>
<!-- Back to top -->
<button aria-label="Back to top" class="back-to-top" id="backToTop">
<svg aria-hidden="true" fill="none" height="18" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5" viewbox="0 0 24 24" width="18"><polyline points="18 15 12 9 6 15"></polyline></svg>
</button>
<script src="js/theme.js"></script>
<script src="js/main.js"></script>
</body>
</html>