Skip to content

Commit efa58cd

Browse files
Privacyterms (#110)
* the icons are added * fix prettier formatting * icons are added * privacy policy and terms are added * Format legal pages with prettier * Add privacy and terms routes * Refactor privacy policy layout and styles * Update terms.html * Move legal links to footer bottom * Fix back link routes in legal pages * the legal links are added * Fix HTML structure in legal pages * Fix footer link styles in footer.js --------- Co-authored-by: Jagdish Prajapati <jagadishdrp@gmail.com>
1 parent 5ca4a8a commit efa58cd

4 files changed

Lines changed: 599 additions & 0 deletions

File tree

frontend/js/footer.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,10 @@ document.addEventListener("DOMContentLoaded", () => {
9292
<p>
9393
© 2026 CodePVG Programming Club
9494
</p>
95+
<div class="legal-links" style="margin-top: 4px; display: flex; justify-content: center; gap: 15px;">
96+
<a href="/privacy" class="footer-link">Privacy Policy</a>
97+
<a href="/terms" class="footer-link">Terms & Conditions</a>
98+
</div>
9599
<p>
96100
developed && maintained by <a href="https://github.com/jagdish-15" target="_blank" class="footer-link">jagdish</a>
97101
</p>

frontend/privacy.html

Lines changed: 295 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,295 @@
1+
<!doctype html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8" />
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
6+
<title>CodePVG — Privacy Policy</title>
7+
8+
<link rel="preconnect" href="https://fonts.googleapis.com" />
9+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
10+
11+
<link
12+
href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap"
13+
rel="stylesheet"
14+
/>
15+
16+
<link rel="stylesheet" href="styles/main.css" />
17+
<link rel="icon" type="image/png" href="assets/logo.png" />
18+
19+
<style>
20+
.legal-content h2 {
21+
color: var(--green);
22+
margin-top: 1.5rem;
23+
margin-bottom: 0.75rem;
24+
font-family: "Space Mono", monospace;
25+
}
26+
.legal-content h3,
27+
.legal-content h4 {
28+
color: var(--green-dim);
29+
margin-top: 1rem;
30+
margin-bottom: 0.5rem;
31+
}
32+
.legal-content p,
33+
.legal-content li {
34+
color: var(--text-dim);
35+
line-height: 1.7;
36+
margin-bottom: 1rem;
37+
}
38+
.legal-content ul {
39+
padding-left: 1.5rem;
40+
margin-bottom: 1rem;
41+
color: var(--text-dim);
42+
}
43+
.legal-content a {
44+
color: var(--cyan);
45+
text-decoration: none;
46+
}
47+
.legal-content a:hover {
48+
text-decoration: underline;
49+
}
50+
.back-link {
51+
display: inline-block;
52+
margin-top: 1rem;
53+
text-decoration: none;
54+
color: var(--cyan);
55+
}
56+
.back-link:hover {
57+
text-shadow: 0 0 8px rgba(0, 229, 255, 0.4);
58+
}
59+
</style>
60+
</head>
61+
62+
<body>
63+
<canvas id="matrix-canvas"></canvas>
64+
65+
<main class="page">
66+
<div class="container" style="max-width: 800px">
67+
<h1 class="page-title">Privacy Policy</h1>
68+
<p
69+
style="
70+
text-align: center;
71+
color: var(--text-dim);
72+
margin-bottom: 2rem;
73+
opacity: 0.8;
74+
"
75+
>
76+
Last updated: June 04, 2026
77+
</p>
78+
79+
<div class="terminal-window">
80+
<div class="terminal-header">
81+
<div class="terminal-dots">
82+
<div class="terminal-dot red"></div>
83+
<div class="terminal-dot yellow"></div>
84+
<div class="terminal-dot green"></div>
85+
</div>
86+
<span class="terminal-title">cat privacy.md</span>
87+
</div>
88+
<div class="terminal-body legal-content">
89+
<div class="legal-section">
90+
<p>
91+
This Privacy Policy describes Our policies and procedures on the
92+
collection, use and disclosure of Your information when You use
93+
the Service and tells You about Your privacy rights.
94+
</p>
95+
96+
<p>
97+
We use Your Data to provide and maintain the leaderboard
98+
Service. By using the Service, You agree to the collection and
99+
use of information in accordance with this Privacy Policy.
100+
</p>
101+
</div>
102+
103+
<div class="legal-section">
104+
<h2>Interpretation and Definitions</h2>
105+
106+
<h3>Interpretation</h3>
107+
<p>
108+
The words whose initial letters are capitalized have meanings
109+
defined under the following conditions. The following
110+
definitions shall have the same meaning regardless of whether
111+
they appear in singular or in plural.
112+
</p>
113+
114+
<h3>Definitions</h3>
115+
<ul>
116+
<li>
117+
<strong>Company</strong> refers to CodePVG LeetCode
118+
Leaderboard.
119+
</li>
120+
<li>
121+
<strong>Device</strong> means any device that can access the
122+
Service such as a computer, a cell phone or a digital tablet.
123+
</li>
124+
<li>
125+
<strong>Personal Data</strong> means any information that
126+
relates to an identified or identifiable individual, such as
127+
your Name or LeetCode ID.
128+
</li>
129+
<li><strong>Service</strong> refers to the Website.</li>
130+
<li>
131+
<strong>Website</strong> refers to CodePVG LeetCode
132+
Leaderboard, accessible from https://codepvg.onrender.com
133+
</li>
134+
<li>
135+
<strong>You</strong> means the individual accessing or using
136+
the Service.
137+
</li>
138+
</ul>
139+
</div>
140+
141+
<div class="legal-section">
142+
<h2>Collecting and Using Your Personal Data</h2>
143+
144+
<h3>Types of Data Collected</h3>
145+
146+
<h4>Personal Data</h4>
147+
<p>
148+
While using Our Service to be listed on the leaderboard, We may
149+
ask You to provide Us with certain personally identifiable
150+
information, such as:
151+
</p>
152+
153+
<ul>
154+
<li>First and last name</li>
155+
<li>LeetCode ID / Username</li>
156+
<li>College name</li>
157+
</ul>
158+
159+
<h4>Usage Data</h4>
160+
<p>
161+
Usage Data is collected automatically when using the Service.
162+
</p>
163+
164+
<p>
165+
Usage Data may include information such as Your Device's
166+
Internet Protocol address (e.g. IP address), browser type,
167+
browser version, pages visited, date and time of visit, and time
168+
spent on pages.
169+
</p>
170+
</div>
171+
172+
<div class="legal-section">
173+
<h2>Use of Your Personal Data</h2>
174+
175+
<p>
176+
The Company may use Personal Data for the following purposes:
177+
</p>
178+
179+
<ul>
180+
<li>
181+
To provide and maintain our Service, including displaying your
182+
LeetCode statistics on the public leaderboard.
183+
</li>
184+
<li>
185+
To manage Your requests, including updating or removing your
186+
leaderboard entry.
187+
</li>
188+
</ul>
189+
190+
<p>
191+
We may share Your Personal Data in the following situations:
192+
</p>
193+
194+
<ul>
195+
<li>
196+
With Service Providers such as GitHub and LeetCode APIs to
197+
fetch and display ranking statistics.
198+
</li>
199+
<li>
200+
With other users because the leaderboard is publicly
201+
accessible.
202+
</li>
203+
<li>With Your consent for any other purpose.</li>
204+
</ul>
205+
</div>
206+
207+
<div class="legal-section">
208+
<h2>Retention of Your Personal Data</h2>
209+
<p>
210+
The Company will retain Your Personal Data only for as long as
211+
is necessary to maintain the leaderboard.
212+
</p>
213+
</div>
214+
215+
<div class="legal-section">
216+
<h2>Delete Your Personal Data</h2>
217+
<p>
218+
You have the right to request deletion of the Personal Data that
219+
We have collected about You.
220+
</p>
221+
222+
<p>
223+
Because We do not have user accounts, You may contact Us
224+
directly via email to request access, correction, or deletion of
225+
Your data.
226+
</p>
227+
</div>
228+
229+
<div class="legal-section">
230+
<h2>Disclosure of Your Personal Data</h2>
231+
232+
<h3>Law Enforcement</h3>
233+
<p>
234+
The Company may disclose Your Personal Data if required by law
235+
or valid requests from public authorities.
236+
</p>
237+
</div>
238+
239+
<div class="legal-section">
240+
<h2>Security of Your Personal Data</h2>
241+
<p>
242+
While We strive to use commercially reasonable means to protect
243+
Your Personal Data, no method of transmission over the Internet
244+
or electronic storage is completely secure.
245+
</p>
246+
</div>
247+
248+
<div class="legal-section">
249+
<h2>Children's Privacy</h2>
250+
<p>
251+
Our Service does not address anyone under the age of 13 and We
252+
do not knowingly collect information from children under 13.
253+
</p>
254+
</div>
255+
256+
<div class="legal-section">
257+
<h2>Links to Other Websites</h2>
258+
<p>
259+
Our Service may contain links to third-party websites. We
260+
encourage You to review the Privacy Policy of every site You
261+
visit.
262+
</p>
263+
</div>
264+
265+
<div class="legal-section">
266+
<h2>Changes to this Privacy Policy</h2>
267+
<p>
268+
We may update this Privacy Policy from time to time. Changes
269+
become effective when posted on this page.
270+
</p>
271+
</div>
272+
273+
<div class="legal-section">
274+
<h2>Contact Us</h2>
275+
276+
<p>
277+
If You have any questions about this Privacy Policy, You can
278+
contact Us:
279+
</p>
280+
281+
<ul>
282+
<li>Email: jagadishdrp@gmail.com</li>
283+
<li>Website: https://codepvg.onrender.com/about</li>
284+
</ul>
285+
</div>
286+
287+
<a href="/leaderboard" class="back-link">← Back to Leaderboard</a>
288+
</div>
289+
</div>
290+
</div>
291+
</main>
292+
293+
<script src="js/matrix.js"></script>
294+
</body>
295+
</html>

0 commit comments

Comments
 (0)