-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathprivacy-policy.html
More file actions
211 lines (196 loc) · 7.9 KB
/
Copy pathprivacy-policy.html
File metadata and controls
211 lines (196 loc) · 7.9 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
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta
name="description"
content="Privacy policy for ribbons.js.org — information about data collection, analytics, and advertising practices."
/>
<meta name="author" content="Matteo Bruni" />
<meta name="theme-color" content="#393939" />
<title>Privacy Policy | tsParticles Ribbons</title>
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans&display=swap" rel="stylesheet" />
<link href="/css/index.css" rel="stylesheet" />
</head>
<body>
<nav class="site-nav">
<div class="site-nav-links">
<a href="/">Playground</a>
<a href="/about.html">About</a>
<a href="/blog/index.html">Blog</a>
<a href="/cookie-policy.html">Cookie Policy</a>
<a href="/privacy-policy.html" class="site-nav-current">Privacy Policy</a>
</div>
<button class="site-nav-theme" id="themeToggle" aria-label="Toggle theme"></button>
</nav>
<main class="content-page">
<h1>Privacy Policy</h1>
<p class="meta">Last updated: June 9, 2026</p>
<p>
This privacy policy explains how ribbons.js.org (the "Site") collects, uses, and protects
information about visitors. The Site is operated by Matteo Bruni as an open-source project
under the tsParticles organization.
</p>
<h2>Information We Collect</h2>
<h3>Analytics Data</h3>
<p>
When you consent to analytics cookies, we use Google Analytics to collect anonymized usage
data, including:
</p>
<ul>
<li>Pages visited and time spent on each page</li>
<li>Browser type and version</li>
<li>Device type (desktop, tablet, mobile)</li>
<li>Approximate geographic location (country level, not precise location)</li>
<li>Referral source (how you found the Site)</li>
</ul>
<p>
This data is anonymized (IP addresses are anonymized before recording) and used solely to
improve the Site's content and user experience. We do not track individual visitors across
different websites.
</p>
<h3>Advertising Data</h3>
<p>When you consent to advertising cookies, Google AdSense may collect:</p>
<ul>
<li>Information about your browser and device</li>
<li>Anonymous browsing patterns for interest-based advertising</li>
<li>Non-personally identifying demographic information</li>
</ul>
<p>
If advertising consent is declined, Google AdSense is still loaded but operates in
non-personalized mode, showing ads based on page content rather than user behavior.
</p>
<h3>Information We Do NOT Collect</h3>
<p>We do not collect or store:</p>
<ul>
<li>Names, email addresses, or phone numbers</li>
<li>Login credentials or passwords</li>
<li>Payment information</li>
<li>Precise location data</li>
<li>Personal messages or communications</li>
</ul>
<h2>How We Use Your Data</h2>
<p>We use collected data for the following purposes:</p>
<ul>
<li>
<strong>Analytics:</strong> Understanding aggregate usage patterns to improve content, fix
issues, and optimize the user experience.
</li>
<li>
<strong>Advertising:</strong> Showing relevant ads to support the ongoing development and
maintenance of the tsParticles open-source project.
</li>
</ul>
<p>
We do not sell your data to third parties. We do not use data for automated decision-making
or profiling beyond what is described above.
</p>
<h2>Cookies and Local Storage</h2>
<p>This Site uses both cookies and browser local storage:</p>
<ul>
<li>
<strong>localStorage:</strong> Stores your cookie consent preferences under the key
<code>tsparticles-ribbons/cookie-consent-v1</code>. This is a purely local preference and
is not sent to any server.
</li>
<li>
<strong>Google Analytics cookies:</strong> Used only with explicit consent to track
anonymized usage.
</li>
<li>
<strong>Google AdSense cookies:</strong> Used only with explicit consent for personalized
advertising.
</li>
</ul>
<p>For full details, see the <a href="/cookie-policy.html">Cookie Policy</a>.</p>
<h2>Third-Party Services</h2>
<p>This Site uses the following third-party services:</p>
<ul>
<li><strong>Google Analytics</strong> — anonymized usage tracking and reporting</li>
<li><strong>Google AdSense</strong> — contextual and behavioral advertising</li>
<li>
<strong>jsDelivr CDN</strong> — content delivery for the tsParticles library (no tracking)
</li>
<li>
<strong>Google Fonts</strong> — web font delivery (may log requests per Google's privacy
policy)
</li>
</ul>
<p>
Each service operates under its own privacy policy. We encourage you to review their
policies for complete information.
</p>
<h2>Data Retention</h2>
<p>
Analytics data is retained for 26 months, after which it is automatically deleted. No
individual user data is stored on our servers — all data is processed by Google Analytics
and Google AdSense under their respective retention policies.
</p>
<h2>Your Rights</h2>
<p>Depending on your location, you may have the following rights regarding your data:</p>
<ul>
<li><strong>Right to access:</strong> Request a copy of data we hold about you.</li>
<li><strong>Right to deletion:</strong> Request deletion of your analytics data.</li>
<li>
<strong>Right to object:</strong> Object to processing of your data for analytics or
advertising.
</li>
<li>
<strong>Right to withdraw consent:</strong> Change your consent preferences at any time
using the "Cookie preferences" button in the footer.
</li>
</ul>
<p>
To exercise these rights, please open an issue on the
<a href="https://github.com/tsparticles/tsparticles">tsParticles GitHub repository</a>.
</p>
<h2>Changes to This Policy</h2>
<p>
We may update this privacy policy from time to time. Changes will be posted on this page
with an updated revision date. Significant changes will be announced on the tsParticles
GitHub repository.
</p>
<p><a href="/">Back to the homepage</a></p>
</main>
<footer
style="
text-align: center;
padding: 2rem;
font-size: 0.85rem;
background: var(--secondary-color);
color: var(--inner-color);
"
>
<p>
<a href="https://github.com/tsparticles" style="color: var(--inner-color)">tsParticles</a>
— JavaScript ribbon animations for your website
</p>
</footer>
<script>
(function () {
var k = 'tsparticles-ribbons/theme',
s = parseInt(localStorage.getItem(k), 10) || 0,
p = window.matchMedia('(prefers-color-scheme:light)'),
t = ['auto', 'dark', 'light'];
function u() {
var th = t[s],
a = th === 'auto';
if (a) {
document.body.setAttribute('auto-theme', '');
document.body.setAttribute('data-theme', p.matches ? 'light' : 'dark');
} else {
document.body.removeAttribute('auto-theme');
document.body.setAttribute('data-theme', th);
}
}
u();
document.getElementById('themeToggle').addEventListener('click', function () {
s = (s + 1) % 3;
localStorage.setItem(k, s);
u();
});
})();
</script>
</body>
</html>