-
Notifications
You must be signed in to change notification settings - Fork 112
Expand file tree
/
Copy pathprivacy-policy.html
More file actions
297 lines (252 loc) · 11.5 KB
/
privacy-policy.html
File metadata and controls
297 lines (252 loc) · 11.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Privacy Policy for MYNT</title>
<link href="favicon/icon128.png" rel="icon">
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;600&display=swap" rel="stylesheet">
<style>
body {
font-family: 'Poppins', sans-serif;
background-color: #f3f4f6;
color: #333;
margin: 0;
padding: 20px;
line-height: 1.6;
transition: background 0.3s, color 0.3s;
}
.container {
max-width: 800px;
margin: auto;
background: white;
padding: 20px 30px;
border-radius: 8px;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
transition: background 0.3s, color 0.3s;
}
h1 {
font-size: 2rem;
margin-bottom: 10px;
}
h2 {
font-size: 1.5rem;
margin-top: 25px;
margin-bottom: 10px;
}
h3 {
font-size: 1.2rem;
margin-top: 15px;
margin-bottom: 5px;
}
p {
margin: 10px 0;
text-align: justify;
}
li {
margin-bottom: 12px;
}
a {
color: #6200ea;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
code {
word-break: break-word;
white-space: pre-wrap;
overflow-wrap: anywhere;
background-color: #f1f1f1;
padding: 2px 4px;
border-radius: 4px;
max-width: 100%;
vertical-align: middle;
}
/* Dark mode styles */
body.dark-mode {
background-color: #181a20;
color: #e0e0e0;
}
.container.dark-mode {
background: #23262f;
color: #e0e0e0;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
}
body.dark-mode a {
color: #bb86fc;
}
body.dark-mode code {
background-color: #23262f;
color: #bb86fc;
}
.dark-mode-toggle {
position: absolute;
top: 20px;
right: 20px;
background: #fff;
color: #333;
border: none;
border-radius: 16px;
padding: 8px;
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 1rem;
cursor: pointer;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
transition: background 0.3s, color 0.3s;
z-index: 10;
}
.dark-mode-toggle:hover svg {
transform: scale(1.02);
}
body.dark-mode .dark-mode-toggle {
background: #23262f;
color: #e0e0e0;
border: 1px solid #444;
}
</style>
</head>
<body>
<button class="dark-mode-toggle" id="darkModeToggle">
<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path id="iconPath" d="" fill="currentColor" />
</svg>
</button>
<div class="container" id="mainContainer">
<h1>Privacy Policy for MYNT: Material You New Tab</h1>
<h2>Introduction</h2>
<p>"MYNT: Material You New Tab" is an open-source extension designed to enhance the appearance of your browser’s
default home page and new tab. It was originally developed as a personal project using HTML, CSS, and
JavaScript. Due to positive feedback, it was later made available on both the Firefox and Chrome Web Stores.
</p>
<h2>Community Contributions</h2>
<p>Since its release, talented developers from the community have contributed to improving the extension through
GitHub. These contributors have added new features and fixed bugs, making the extension even better. Each
pull request is carefully reviewed, tested, and verified to ensure it meets our standards before being
merged.
</p>
<h2>Data Collection and Permissions</h2>
<p>MYNT: Material You New Tab prioritizes your privacy and is focused solely on providing a better browsing
experience. This extension does <strong>not collect</strong>, <strong>store</strong>, or
<strong>share</strong> any personal data. All processing is done locally within your browser. No analytics,
tracking scripts, or remote logging systems are included.
</p>
<h3>Permissions</h3>
<p> We only request the minimal permissions needed to deliver a rich, dynamic browsing experience. Below is a
breakdown of the permissions used and what they are for:</p>
<ul>
<li><strong>Search:</strong> Enables integration with the browser’s default search engine.</li>
<li><strong>Bookmarks</strong> (optional): If granted, allows optional display of your bookmarks directly on
the new tab page.</li>
<li><strong>Favicon</strong> (optional): Used to retrieve bookmark favicons from the browser cache. It only
returns icons the browser already has cached and does not expose browsing history or page content.</li>
</ul>
<h3>Browser APIs</h3>
<ul>
<li><strong>Speech Recognition (Web Speech API):</strong> Enables voice search. Microphone access is
triggered only when the mic icon is clicked and is handled entirely by your browser. No voice data is
collected or stored.</li>
<li><strong>Geolocation:</strong> Used to improve weather accuracy. Access is browser-managed and is not
tracked or shared.</li>
</ul>
<h3>External APIs</h3>
<p>We use the following external services to improve the user experience:</p>
<ul>
<li><strong>Search Suggestions:</strong>
<ul>
<li>Google: <code>https://www.google.com/complete/search?client=*</code></li>
<li>DuckDuckGo: <code>https://duckduckgo.com/ac/?q=*</code></li>
<li>Brave: <code>https://search.brave.com/api/suggest?q=*</code></li>
<li>Wikipedia: <code>https://*.wikipedia.org/w/api.php?action=opensearch&search=*</code></li>
</ul>
<p>These are used to provide auto-complete suggestions while typing in the search bar. You can control
which sites the extension can access from your browser settings.</p>
</li>
<li><strong>Location Detection (<a href="https://ipinfo.io/" target="_blank">IPinfo</a>):</strong>
<ul>
<li><code>https://ipinfo.io/json</code> – fetches approximate city-level location based on your IP
for local weather display.</li>
</ul>
</li>
<li><strong>Weather Updates (<a href="https://www.weatherapi.com/" target="_blank">WeatherAPI</a>):</strong>
<ul>
<li><code>https://api.weatherapi.com/v1/forecast.json?key=*</code> – retrieves daily forecasts based
on your location and language preferences.</li>
<li><code>https://api.weatherapi.com/v1/search.json?key=*</code> – used to fetch location
suggestions when searching for a city.</li>
</ul>
</li>
<li><strong>Random Wallpapers (<a href="https://picsum.photos/" target="_blank">Lorem Picsum</a>):</strong>
<ul>
<li><code>https://picsum.photos/1920/1080</code> – used to fetch high-quality random images.</li>
</ul>
</li>
<li><strong>Quotes (<a href="https://github.com/prem-k-r/multilingual-quotes-api"
target="_blank">Multilingual Quotes API</a>):</strong>
<ul>
<li><code>https://github.com/prem-k-r/multilingual-quotes-api</code> – used to fetch quotes.
</li>
</ul>
</li>
<li><strong>Favicon Fetching (Google's Favicon API):</strong>
<ul>
<li><code>https://s2.googleusercontent.com/s2/favicons*</code></li>
<li><code>https://www.google.com/s2/favicons*</code></li>
</ul>
These are used to fetch favicons of websites for shortcuts and bookmarks.
</li>
</ul>
<h3>Proxy Server (Optional)</h3>
<p>
MYNT: Material You New Tab includes an optional proxy feature that is <strong>disabled by default</strong>.
This feature can be used to bypass CORS restrictions when fetching search suggestions.
</p>
<p>
For users who wish to enable this feature, we <strong>highly recommend <a
href="https://github.com/Minuga-RC/MYNT-CORS-Bypass-Proxy" target="_blank">hosting your own
proxy server</a></strong> to maintain full control and ensure maximum privacy.
</p>
<p>
If enabled and left at the default setting, search suggestion requests will be routed through the public
proxy at: <code>https://mynt-proxy.rhythmcorehq.com</code>.
</p>
<h2>Transparency and Security</h2>
<p>While we strive to keep our code secure, we acknowledge that no project is entirely immune to potential
issues. In rare cases, unintended code or errors could be introduced through contributions. We encourage
users to review the source code directly on GitHub for peace of mind. Please use this extension only when
you are fully comfortable with its contents.</p>
<h2>Thank You</h2>
<p>Thank you for your trust in the MYNT: Material You New Tab extension. We hope it enhances your browsing
experience with every new tab you open!</p>
</div>
<script>
// Dark mode toggle logic
const toggleBtn = document.getElementById('darkModeToggle');
const container = document.getElementById('mainContainer');
const iconPath = document.getElementById('iconPath');
let isDark = localStorage.getItem('mynt-dark-mode');
// SVG paths
const moonPath = "M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z";
const sunPath = "M11 4V1h2v3zm0 19v-3h2v3zm9-10v-2h3v2zM1 13v-2h3v2zm17.7-6.3l-1.4-1.4l1.75-1.8l1.45 1.45zM4.95 20.5L3.5 19.05l1.8-1.75l1.4 1.4zm14.1 0l-1.75-1.8l1.4-1.4l1.8 1.75zM5.3 6.7L3.5 4.95L4.95 3.5L6.7 5.3zM12 18q-2.5 0-4.25-1.75T6 12t1.75-4.25T12 6t4.25 1.75T18 12t-1.75 4.25T12 18";
function setDarkMode(isDark) {
document.body.classList.toggle('dark-mode', isDark);
container.classList.toggle('dark-mode', isDark);
iconPath.setAttribute('d', isDark ? sunPath : moonPath);
localStorage.setItem('mynt-dark-mode', isDark);
}
// Determine initial state
if (isDark === null) {
isDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
} else {
isDark = isDark === 'true';
}
setDarkMode(isDark);
toggleBtn.addEventListener('click', () => {
const newDarkState = !document.body.classList.contains('dark-mode');
setDarkMode(newDarkState);
});
</script>
</body>
</html>