89 lines
2.3 KiB
TypeScript
89 lines
2.3 KiB
TypeScript
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);
|
|
}
|