# configuration/strings/privacy.strings.ts

> 119 lines of code and 7 definitions.

Tree: Site tree
Language: typescript
Layer: product
Canonical: https://banes-lab.com/anatomy/tree#file-configuration-strings-privacy-strings-ts
Source text: https://banes-lab.com/assets/sources/source.2033ce26e93d5b207628fbc0883df88c47e21df7c11f32ee07ecabcf26ecdfb9.generated.txt

## Definitions

- `PRIVACY_META` (lexical_declaration, line 22, exported)
- `OPERATOR_SECTION` (lexical_declaration, line 31)
- `RIGHTS_SECTION` (lexical_declaration, line 53)
- `SECURITY_SECTION` (lexical_declaration, line 70)
- `CHANGES_SECTION` (lexical_declaration, line 84)
- `CONTACT_SECTION` (lexical_declaration, line 97)
- `PRIVACY_SECTIONS` (lexical_declaration, line 117, exported)

## Source

```typescript
import { COLLECTION_SECTION, PARTIES_SECTION, SERVER_SECTION } from "#configuration/strings/privacy.fragment.strings";
import { CONTACT_MAIL, SITE_URL, pagePath } from "#assets/link.assets";
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: CONTACT_MAIL, 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 ${CONTACT_MAIL} 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: CONTACT_MAIL, 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,
];
```
