configuration/strings/privacy.strings.ts
configuration/strings/privacy.strings.ts is a file in Bane's Lab Site. 119 lines of code and 7 definitions.
import { AUTHOR_ADDRESS, SITE_URL, pagePath } from "#core/assets/link.assets";
import { COLLECTION_SECTION, PARTIES_SECTION, SERVER_SECTION } from "#configuration/strings/privacy.fragment.strings";
import type { DocumentMeta, Section } from "#types/document.types";
import {
PRIVACY_CHANGES_ICON,
PRIVACY_CONTACT_ICON,
PRIVACY_OPERATOR_ICON,
PRIVACY_RIGHTS_ICON,
PRIVACY_SECURITY_ICON,
} from "#configuration/icons/privacy.icons";
import {
PRIVACY_CHANGES_SECTION_ID,
PRIVACY_CONTACT_SECTION_ID,
PRIVACY_OPERATOR_SECTION_ID,
PRIVACY_RIGHTS_SECTION_ID,
PRIVACY_SECURITY_SECTION_ID,
} from "#core/ids/privacy.ids";
import { INFORMATION_PAGE } from "#core/ids/page.ids";
import { PRIVACY_SHARE } from "#configuration/strings/page.strings";
import { REPLY_NOTE } from "#configuration/strings/company.strings";
export const PRIVACY_META: DocumentMeta = {
closing: "There is no personal information to entrust to me, and I intend to keep it that way.",
effectiveDate: "September 19, 2026",
intro: "Bane's Lab is a static informational website. I do not collect, store, or process personal data. This policy describes the information your browser exchanges with the server during a visit and what happens to it.",
lastUpdated: "September 24, 2026",
title: PRIVACY_SHARE.headline,
version: "2.1.1",
};
const OPERATOR_SECTION: Section = {
icon: PRIVACY_OPERATOR_ICON,
id: PRIVACY_OPERATOR_SECTION_ID,
subsections: [
{
blocks: [
{
entries: [
{ description: "Bane's Lab", term: "Name" },
{ description: "Jay Baleine", term: "Operator" },
{ description: AUTHOR_ADDRESS, term: "Contact Email" },
{ description: SITE_URL, term: "Website" },
],
kind: "glossary",
},
],
title: "Contact",
},
],
title: "Site Operator",
};
const RIGHTS_SECTION: Section = {
icon: PRIVACY_RIGHTS_ICON,
id: PRIVACY_RIGHTS_SECTION_ID,
subsections: [
{
content:
"Most data-subject rights under GDPR, UK GDPR, CCPA, and similar regulations apply to entities that hold personal data about you. Since I hold no personal data about you, there is generally nothing to access, correct, export, or delete.",
title: "Data Subject Rights",
},
{
content: `If you believe I hold or have processed personal data about you, contact me at ${AUTHOR_ADDRESS} and I will tell you what, if anything, exists.`,
title: "If You Have Questions",
},
],
title: "Your Rights",
};
const SECURITY_SECTION: Section = {
icon: PRIVACY_SECURITY_ICON,
id: PRIVACY_SECURITY_SECTION_ID,
subsections: [
{
blocks: [{ kind: "link", links: [{ href: pagePath(INFORMATION_PAGE), text: "Security information" }] }],
content:
"All content is delivered over HTTPS with modern TLS, strict security headers, and a hardened reverse proxy. Technical details are documented on the Info page.",
title: "Protections in Place",
},
],
title: "Security",
};
const CHANGES_SECTION: Section = {
icon: PRIVACY_CHANGES_ICON,
id: PRIVACY_CHANGES_SECTION_ID,
subsections: [
{
content:
"This policy is updated when site behavior changes. The version and update date at the top of this page identify the current policy.",
title: "Updates",
},
],
title: "Changes to This Policy",
};
const CONTACT_SECTION: Section = {
icon: PRIVACY_CONTACT_ICON,
id: PRIVACY_CONTACT_SECTION_ID,
subsections: [
{
blocks: [
{
entries: [
{ description: AUTHOR_ADDRESS, term: "Email" },
{ description: REPLY_NOTE, term: "Note" },
],
kind: "glossary",
},
],
title: "Privacy Questions",
},
],
title: "Contact",
};
export const PRIVACY_SECTIONS: readonly Section[] = [
OPERATOR_SECTION,
COLLECTION_SECTION,
SERVER_SECTION,
PARTIES_SECTION,
RIGHTS_SECTION,
SECURITY_SECTION,
CHANGES_SECTION,
CONTACT_SECTION,
];