This commit is contained in:
Raven Scott
2026-05-29 13:15:49 -04:00
parent 5013d69ec2
commit d66d6398d3
11 changed files with 884 additions and 3 deletions
+88
View File
@@ -0,0 +1,88 @@
import type { LucideIcon } from 'lucide-react';
import {
Scale,
Shield,
FileKey,
AlertTriangle,
Ban,
Code2,
} from 'lucide-react';
export const LEGAL_LAST_UPDATED = 'May 29, 2026';
export const LEGAL_NOTICE =
'These documents describe the P2NS open-source project and the p2ns.space website. They are not legal advice. Operators and users are responsible for compliance in their jurisdiction.';
export type LegalDocumentId =
| 'terms'
| 'privacy'
| 'eula'
| 'disclaimer'
| 'acceptable-use'
| 'open-source-license';
export interface LegalDocumentMeta {
id: LegalDocumentId;
title: string;
shortTitle: string;
description: string;
href: string;
icon: LucideIcon;
}
export const legalDocuments: LegalDocumentMeta[] = [
{
id: 'terms',
title: 'Terms of Service',
shortTitle: 'Terms',
description: 'Rules for using the p2ns.space website and project materials.',
href: '/legal/terms',
icon: Scale,
},
{
id: 'privacy',
title: 'Privacy Policy',
shortTitle: 'Privacy',
description: 'How the website handles information and what the self-hosted software does locally.',
href: '/legal/privacy',
icon: Shield,
},
{
id: 'eula',
title: 'End User License Agreement',
shortTitle: 'EULA',
description: 'Terms for downloading, installing, and running P2NS software.',
href: '/legal/eula',
icon: FileKey,
},
{
id: 'disclaimer',
title: 'Disclaimer',
shortTitle: 'Disclaimer',
description: 'Limitations of liability for network operation, DNS, and security.',
href: '/legal/disclaimer',
icon: AlertTriangle,
},
{
id: 'acceptable-use',
title: 'Acceptable Use Policy',
shortTitle: 'Acceptable Use',
description: 'Prohibited uses of the software and participation in P2P networks.',
href: '/legal/acceptable-use',
icon: Ban,
},
{
id: 'open-source-license',
title: 'Open Source License',
shortTitle: 'Open Source License',
description: 'ISC license summary and link to the upstream P2NS repository.',
href: '/legal/open-source-license',
icon: Code2,
},
];
export const P2NS_REPO_URL = 'https://git.ssh.surf/snxraven/p2ns';
export function getLegalDocument(id: LegalDocumentId): LegalDocumentMeta | undefined {
return legalDocuments.find((d) => d.id === id);
}