feat: configure toolbox.oiupoyt.space domain, add AdSense-compliant privacy policy
This commit is contained in:
parent
dd964b2c00
commit
4dba3ba7c7
5 changed files with 113 additions and 6 deletions
|
|
@ -1,4 +1,4 @@
|
||||||
User-agent: *
|
User-agent: *
|
||||||
Allow: /
|
Allow: /
|
||||||
|
|
||||||
Sitemap: https://kattoolbox.vercel.app/sitemap.xml
|
Sitemap: https://toolbox.oiupoyt.space/sitemap.xml
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ const geistMono = Geist_Mono({
|
||||||
});
|
});
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
metadataBase: new URL("https://kattoolbox.vercel.app"),
|
metadataBase: new URL("https://toolbox.oiupoyt.space"),
|
||||||
title: {
|
title: {
|
||||||
default: "kattoolbox — Client-Side File & Developer Utilities",
|
default: "kattoolbox — Client-Side File & Developer Utilities",
|
||||||
template: "%s | kattoolbox",
|
template: "%s | kattoolbox",
|
||||||
|
|
@ -45,7 +45,7 @@ export const metadata: Metadata = {
|
||||||
description:
|
description:
|
||||||
"Client-side file and developer tools running entirely in the browser.",
|
"Client-side file and developer tools running entirely in the browser.",
|
||||||
siteName: "kattoolbox",
|
siteName: "kattoolbox",
|
||||||
url: "https://kattoolbox.vercel.app",
|
url: "https://toolbox.oiupoyt.space",
|
||||||
},
|
},
|
||||||
twitter: {
|
twitter: {
|
||||||
card: "summary_large_image",
|
card: "summary_large_image",
|
||||||
|
|
|
||||||
86
src/app/privacy/page.tsx
Normal file
86
src/app/privacy/page.tsx
Normal file
|
|
@ -0,0 +1,86 @@
|
||||||
|
import ToolLayout from "@/components/ToolLayout";
|
||||||
|
import Link from "next/link";
|
||||||
|
|
||||||
|
export default function PrivacyPage() {
|
||||||
|
return (
|
||||||
|
<ToolLayout
|
||||||
|
title="Privacy Policy"
|
||||||
|
description="Information on data processing, third-party advertising cookies, and local execution."
|
||||||
|
showSideAds={false}
|
||||||
|
>
|
||||||
|
<div className="space-y-6 text-xs text-gray-400 leading-relaxed font-sans">
|
||||||
|
<section className="space-y-2">
|
||||||
|
<h2 className="text-sm font-semibold text-gray-200">1. Client-Side Data Handling</h2>
|
||||||
|
<p>
|
||||||
|
kattoolbox operates on a zero-knowledge architecture. All file processing—including image compression, EXIF metadata stripping, PDF manipulation, redaction, and code formatting—executes strictly within your local web browser using client-side JavaScript, WebAssembly, and HTML5 Canvas.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Files uploaded to these utilities are never transmitted across the network, stored on remote servers, or collected by us.
|
||||||
|
</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section className="space-y-2">
|
||||||
|
<h2 className="text-sm font-semibold text-gray-200">2. Third-Party Advertising and Cookies</h2>
|
||||||
|
<p>
|
||||||
|
We use third-party advertising partners, including Google AdSense, to serve advertisements when you visit our website. These companies may use cookies and web beacons to collect non-personally identifiable information (such as your browser type, device type, IP address, and interaction history) to provide relevant advertisements about goods and services of interest to you.
|
||||||
|
</p>
|
||||||
|
<ul className="list-disc pl-5 space-y-1 text-gray-400">
|
||||||
|
<li>
|
||||||
|
Google's use of advertising cookies enables it and its partners to serve ads based on visits to this site and/or other sites on the Internet.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
Users may opt out of personalized advertising by visiting{" "}
|
||||||
|
<a
|
||||||
|
href="https://www.google.com/settings/ads"
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
className="text-blue-400 hover:underline"
|
||||||
|
>
|
||||||
|
Google Ads Settings
|
||||||
|
</a>{" "}
|
||||||
|
or by visiting{" "}
|
||||||
|
<a
|
||||||
|
href="https://www.aboutads.info"
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
className="text-blue-400 hover:underline"
|
||||||
|
>
|
||||||
|
aboutads.info
|
||||||
|
</a>
|
||||||
|
.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section className="space-y-2">
|
||||||
|
<h2 className="text-sm font-semibold text-gray-200">3. Log Files & Hosting</h2>
|
||||||
|
<p>
|
||||||
|
Our hosting provider (Vercel) automatically logs standard server access requests (e.g., HTTP status codes, user-agent strings, and requesting timestamps) strictly for performance monitoring and DDoS prevention. No personal identity information is recorded or stored by our applications.
|
||||||
|
</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section className="space-y-2">
|
||||||
|
<h2 className="text-sm font-semibold text-gray-200">4. Contact & Updates</h2>
|
||||||
|
<p>
|
||||||
|
This policy was last updated in September 2026. If you have questions regarding privacy or local data execution, you can view the open-source repository at{" "}
|
||||||
|
<a
|
||||||
|
href="https://github.com/oiupoyt/kattoolbox"
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
className="text-blue-400 hover:underline"
|
||||||
|
>
|
||||||
|
github.com/oiupoyt/kattoolbox
|
||||||
|
</a>
|
||||||
|
.
|
||||||
|
</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<div className="pt-4 border-t border-[#1a1a1a]">
|
||||||
|
<Link href="/" className="text-blue-400 hover:underline">
|
||||||
|
← Return to utilities index
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</ToolLayout>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
@ -3,7 +3,7 @@ import { tools } from "@/lib/tools";
|
||||||
|
|
||||||
export const dynamic = "force-static";
|
export const dynamic = "force-static";
|
||||||
|
|
||||||
const BASE_URL = "https://kattoolbox.vercel.app";
|
const BASE_URL = "https://toolbox.oiupoyt.space";
|
||||||
|
|
||||||
export default function sitemap(): MetadataRoute.Sitemap {
|
export default function sitemap(): MetadataRoute.Sitemap {
|
||||||
const toolPages = tools.map((tool) => ({
|
const toolPages = tools.map((tool) => ({
|
||||||
|
|
@ -20,6 +20,12 @@ export default function sitemap(): MetadataRoute.Sitemap {
|
||||||
changeFrequency: "weekly",
|
changeFrequency: "weekly",
|
||||||
priority: 1.0,
|
priority: 1.0,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
url: `${BASE_URL}/privacy`,
|
||||||
|
lastModified: new Date(),
|
||||||
|
changeFrequency: "yearly",
|
||||||
|
priority: 0.3,
|
||||||
|
},
|
||||||
...toolPages,
|
...toolPages,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,22 @@
|
||||||
|
import Link from "next/link";
|
||||||
|
|
||||||
export default function Footer() {
|
export default function Footer() {
|
||||||
return (
|
return (
|
||||||
<footer className="relative z-10 mt-auto border-t border-[#1a1a1a] px-6 py-5 text-center text-xs text-[#525252] bg-black/80 backdrop-blur-sm">
|
<footer className="relative z-10 mt-auto border-t border-[#141414] px-6 py-4 flex flex-wrap items-center justify-between gap-4 text-xs text-[#525252] bg-black/80 backdrop-blur-sm max-w-7xl mx-auto w-full">
|
||||||
Free, private, browser-based developer tools.
|
<span>Free, client-side developer and media utilities.</span>
|
||||||
|
<div className="flex items-center gap-4">
|
||||||
|
<Link href="/privacy" className="hover:text-gray-400 transition-colors">
|
||||||
|
Privacy Policy
|
||||||
|
</Link>
|
||||||
|
<a
|
||||||
|
href="https://github.com/oiupoyt/kattoolbox"
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
className="hover:text-gray-400 transition-colors"
|
||||||
|
>
|
||||||
|
GitHub
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue