Skip to content

Commit 74c4eae

Browse files
committed
feat: add default policy page footers
1 parent 1641303 commit 74c4eae

22 files changed

Lines changed: 607 additions & 0 deletions

defaults/public/en/404.html

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,14 @@ <h2 id="status-title">This short link does not exist</h2>
3535
<img src="/v8s-redirected.svg" alt="V8S redirected by VanityURLs">
3636
</picture>
3737
</a>
38+
39+
<nav class="page-links" aria-label="Instance pages">
40+
<a href="/privacy">Privacy</a>
41+
<a href="/terms">Terms</a>
42+
<a href="/abuse">Abuse</a>
43+
<a href="/security">Security</a>
44+
</nav>
45+
3846
</section>
3947
</main>
4048
</body>

defaults/public/en/abuse.html

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
<!doctype html>
2+
<html lang="en-CA">
3+
<head>
4+
<meta charset="utf-8">
5+
<meta name="viewport" content="width=device-width,initial-scale=1">
6+
<title>Abuse | vanityURLs</title>
7+
<meta name="description" content="How to report abuse for this vanityURLs instance">
8+
<meta name="robots" content="noindex,nofollow">
9+
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
10+
<link rel="stylesheet" href="/style.css?v=20260504">
11+
</head>
12+
<body>
13+
<main class="legal-page">
14+
<article class="legal-content">
15+
<header class="instance-brand" aria-label="VanityURLs">
16+
<h1 class="instance-brand-title"><a href="/" aria-label="VanityURLs"><span>Vanity</span><span>URLs</span></a></h1>
17+
<p class="instance-brand-subtitle">A short-link service powered by vanityURLs</p>
18+
</header>
19+
<h2 class="legal-title">Abuse</h2>
20+
<p class="legal-note">Default template to adapt by the instance owner.</p>
21+
22+
<h3>Report abuse</h3>
23+
<p>If a short link on this instance appears to be used for phishing, malware, spam, impersonation, harassment, or another harmful purpose, report it to the instance operator.</p>
24+
25+
<h3>What to include</h3>
26+
<p>Include the short URL, the destination you reached, the reason it appears abusive, and any relevant screenshots or timestamps. Do not include sensitive personal information unless it is necessary for the report.</p>
27+
28+
<h3>Response</h3>
29+
<p>The operator may disable unsafe links, update block policies, or take other action needed to protect visitors and the reputation of the short domain.</p>
30+
31+
<h3>Emergency issues</h3>
32+
<p>For urgent security incidents, use the operator's preferred private security contact if one is published.</p>
33+
34+
<nav class="page-links" aria-label="Instance pages">
35+
<a href="/privacy">Privacy</a>
36+
<a href="/terms">Terms</a>
37+
<a href="/abuse">Abuse</a>
38+
<a href="/security">Security</a>
39+
</nav>
40+
41+
<a class="redirected-badge" href="https://vanityURLs.link" target="_blank" rel="noreferrer" aria-label="VanityURLs">
42+
<picture>
43+
<source srcset="/v8s-redirected-dark.svg" media="(prefers-color-scheme: dark)">
44+
<img src="/v8s-redirected.svg" alt="V8S redirected by VanityURLs">
45+
</picture>
46+
</a>
47+
</article>
48+
</main>
49+
</body>
50+
</html>

defaults/public/en/disabled.html

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,14 @@ <h2 id="status-title">This short link has been disabled</h2>
3636
<img src="/v8s-redirected.svg" alt="V8S redirected by VanityURLs">
3737
</picture>
3838
</a>
39+
40+
<nav class="page-links" aria-label="Instance pages">
41+
<a href="/privacy">Privacy</a>
42+
<a href="/terms">Terms</a>
43+
<a href="/abuse">Abuse</a>
44+
<a href="/security">Security</a>
45+
</nav>
46+
3947
</section>
4048
</main>
4149
</body>

defaults/public/en/expand/index.html

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,14 @@ <h1 id="brand-title"><span>Dicai.</span><span>re</span></h1>
8989
<img src="/v8s-redirected.svg" alt="V8S redirected by VanityURLs">
9090
</picture>
9191
</a>
92+
93+
<nav class="page-links" aria-label="Instance pages">
94+
<a href="/privacy">Privacy</a>
95+
<a href="/terms">Terms</a>
96+
<a href="/abuse">Abuse</a>
97+
<a href="/security">Security</a>
98+
</nav>
99+
92100
</section>
93101
</main>
94102

defaults/public/en/expired.html

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,14 @@ <h2 id="status-title">This short link is expired</h2>
3737
<img src="/v8s-redirected.svg" alt="V8S redirected by VanityURLs">
3838
</picture>
3939
</a>
40+
41+
<nav class="page-links" aria-label="Instance pages">
42+
<a href="/privacy">Privacy</a>
43+
<a href="/terms">Terms</a>
44+
<a href="/abuse">Abuse</a>
45+
<a href="/security">Security</a>
46+
</nav>
47+
4048
</section>
4149
</main>
4250
</body>

defaults/public/en/index.html

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,14 @@ <h1 id="brand-title"><span>Vanity</span><span>URLs</span></h1>
5858
<img src="/v8s-redirected.svg" alt="V8S redirected by VanityURLs">
5959
</picture>
6060
</a>
61+
62+
<nav class="page-links" aria-label="Instance pages">
63+
<a href="/privacy">Privacy</a>
64+
<a href="/terms">Terms</a>
65+
<a href="/abuse">Abuse</a>
66+
<a href="/security">Security</a>
67+
</nav>
68+
6169
</section>
6270
</main>
6371

defaults/public/en/maintenance.html

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,14 @@ <h2 id="status-title">This link is temporarily not available</h2>
3636
<img src="/v8s-redirected.svg" alt="V8S redirected by VanityURLs">
3737
</picture>
3838
</a>
39+
40+
<nav class="page-links" aria-label="Instance pages">
41+
<a href="/privacy">Privacy</a>
42+
<a href="/terms">Terms</a>
43+
<a href="/abuse">Abuse</a>
44+
<a href="/security">Security</a>
45+
</nav>
46+
3947
</section>
4048
</main>
4149
</body>

defaults/public/en/privacy.html

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
<!doctype html>
2+
<html lang="en-CA">
3+
<head>
4+
<meta charset="utf-8">
5+
<meta name="viewport" content="width=device-width,initial-scale=1">
6+
<title>Privacy | vanityURLs</title>
7+
<meta name="description" content="Default privacy information for this vanityURLs instance">
8+
<meta name="robots" content="noindex,nofollow">
9+
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
10+
<link rel="stylesheet" href="/style.css?v=20260504">
11+
</head>
12+
<body>
13+
<main class="legal-page">
14+
<article class="legal-content">
15+
<header class="instance-brand" aria-label="VanityURLs">
16+
<h1 class="instance-brand-title"><a href="/" aria-label="VanityURLs"><span>Vanity</span><span>URLs</span></a></h1>
17+
<p class="instance-brand-subtitle">A short-link service powered by vanityURLs</p>
18+
</header>
19+
<h2 class="legal-title">Privacy</h2>
20+
<p class="legal-note">Default template to adapt by the instance owner.</p>
21+
22+
<h3>Overview</h3>
23+
<p>This vanityURLs instance redirects short links to destination pages. The instance owner is responsible for adapting this page to their own privacy practices, jurisdiction, analytics provider, and retention policy.</p>
24+
25+
<h3>Information processed</h3>
26+
<p>When someone visits a short link, the hosting provider and Worker runtime may process standard request information such as the requested path, timestamp, IP address, user agent, referrer, and security metadata. This information is used to deliver redirects, protect the service, diagnose reliability issues, and respond to abuse.</p>
27+
28+
<h3>Analytics</h3>
29+
<p>The instance may use privacy-respecting server-side analytics or Cloudflare-provided traffic data. Instance owners should document the analytics providers they enable and avoid collecting more visitor data than they need.</p>
30+
31+
<h3>Destinations</h3>
32+
<p>After a redirect, the destination website is controlled by its own operator and may have separate privacy practices. Review the destination website if you need to understand how it handles your data.</p>
33+
34+
<h3>Contact</h3>
35+
<p>For privacy questions, contact the operator of this short-link instance.</p>
36+
37+
<nav class="page-links" aria-label="Instance pages">
38+
<a href="/privacy">Privacy</a>
39+
<a href="/terms">Terms</a>
40+
<a href="/abuse">Abuse</a>
41+
<a href="/security">Security</a>
42+
</nav>
43+
44+
<a class="redirected-badge" href="https://vanityURLs.link" target="_blank" rel="noreferrer" aria-label="VanityURLs">
45+
<picture>
46+
<source srcset="/v8s-redirected-dark.svg" media="(prefers-color-scheme: dark)">
47+
<img src="/v8s-redirected.svg" alt="V8S redirected by VanityURLs">
48+
</picture>
49+
</a>
50+
</article>
51+
</main>
52+
</body>
53+
</html>

defaults/public/en/security.html

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
<!doctype html>
2+
<html lang="en-CA">
3+
<head>
4+
<meta charset="utf-8">
5+
<meta name="viewport" content="width=device-width,initial-scale=1">
6+
<title>Security | vanityURLs</title>
7+
<meta name="description" content="Default security information for this vanityURLs instance">
8+
<meta name="robots" content="noindex,nofollow">
9+
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
10+
<link rel="stylesheet" href="/style.css?v=20260504">
11+
</head>
12+
<body>
13+
<main class="legal-page">
14+
<article class="legal-content">
15+
<header class="instance-brand" aria-label="VanityURLs">
16+
<h1 class="instance-brand-title"><a href="/" aria-label="VanityURLs"><span>Vanity</span><span>URLs</span></a></h1>
17+
<p class="instance-brand-subtitle">A short-link service powered by vanityURLs</p>
18+
</header>
19+
<h2 class="legal-title">Security</h2>
20+
<p class="legal-note">Default template to adapt by the instance owner.</p>
21+
22+
<h3>Security model</h3>
23+
<p>This instance is a static-asset and Cloudflare Worker based redirect service. It should not expose a public write API, visitor accounts, cookies, or client-side analytics by default.</p>
24+
25+
<h3>Infrastructure</h3>
26+
<p>Instance owners should use Cloudflare security controls, access protection for operational paths, safe redirect-target validation, and abuse block policies appropriate for their deployment.</p>
27+
28+
<h3>Vulnerability reports</h3>
29+
<p>If you discover a security issue affecting this instance, report it privately to the operator. Do not publish exploit details before the operator has had time to respond.</p>
30+
31+
<h3>Project security</h3>
32+
<p>Security issues in the vanityURLs software itself can be reported through the project's GitHub security advisory process.</p>
33+
34+
<nav class="page-links" aria-label="Instance pages">
35+
<a href="/privacy">Privacy</a>
36+
<a href="/terms">Terms</a>
37+
<a href="/abuse">Abuse</a>
38+
<a href="/security">Security</a>
39+
</nav>
40+
41+
<a class="redirected-badge" href="https://vanityURLs.link" target="_blank" rel="noreferrer" aria-label="VanityURLs">
42+
<picture>
43+
<source srcset="/v8s-redirected-dark.svg" media="(prefers-color-scheme: dark)">
44+
<img src="/v8s-redirected.svg" alt="V8S redirected by VanityURLs">
45+
</picture>
46+
</a>
47+
</article>
48+
</main>
49+
</body>
50+
</html>

defaults/public/en/terms.html

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
<!doctype html>
2+
<html lang="en-CA">
3+
<head>
4+
<meta charset="utf-8">
5+
<meta name="viewport" content="width=device-width,initial-scale=1">
6+
<title>Terms | vanityURLs</title>
7+
<meta name="description" content="Default terms information for this vanityURLs instance">
8+
<meta name="robots" content="noindex,nofollow">
9+
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
10+
<link rel="stylesheet" href="/style.css?v=20260504">
11+
</head>
12+
<body>
13+
<main class="legal-page">
14+
<article class="legal-content">
15+
<header class="instance-brand" aria-label="VanityURLs">
16+
<h1 class="instance-brand-title"><a href="/" aria-label="VanityURLs"><span>Vanity</span><span>URLs</span></a></h1>
17+
<p class="instance-brand-subtitle">A short-link service powered by vanityURLs</p>
18+
</header>
19+
<h2 class="legal-title">Terms</h2>
20+
<p class="legal-note">Default template to adapt by the instance owner.</p>
21+
22+
<h3>Use of this service</h3>
23+
<p>This instance provides short links that redirect to destination pages. The instance owner is responsible for the links they publish and should adapt these terms before launch.</p>
24+
25+
<h3>Acceptable use</h3>
26+
<p>Do not use this service for phishing, malware, credential theft, spam, harassment, impersonation, or other abusive activity. The operator may disable or remove links that appear unsafe, misleading, illegal, or inconsistent with their policies.</p>
27+
28+
<h3>External destinations</h3>
29+
<p>Short links may redirect to websites operated by third parties. The operator of this redirector is not responsible for the content, availability, or practices of external destinations.</p>
30+
31+
<h3>No warranty</h3>
32+
<p>This service is provided as configured by the instance owner. Availability, accuracy, and continued operation are not guaranteed.</p>
33+
34+
<h3>Contact</h3>
35+
<p>Questions about these terms should be directed to the operator of this short-link instance.</p>
36+
37+
<nav class="page-links" aria-label="Instance pages">
38+
<a href="/privacy">Privacy</a>
39+
<a href="/terms">Terms</a>
40+
<a href="/abuse">Abuse</a>
41+
<a href="/security">Security</a>
42+
</nav>
43+
44+
<a class="redirected-badge" href="https://vanityURLs.link" target="_blank" rel="noreferrer" aria-label="VanityURLs">
45+
<picture>
46+
<source srcset="/v8s-redirected-dark.svg" media="(prefers-color-scheme: dark)">
47+
<img src="/v8s-redirected.svg" alt="V8S redirected by VanityURLs">
48+
</picture>
49+
</a>
50+
</article>
51+
</main>
52+
</body>
53+
</html>

0 commit comments

Comments
 (0)