-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathprivacy.html
More file actions
274 lines (263 loc) · 9.46 KB
/
privacy.html
File metadata and controls
274 lines (263 loc) · 9.46 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
<!DOCTYPE html>
<html lang="en" dir="ltr" id="html">
<head>
<title>Itchy - Privacy Policy</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link
rel="stylesheet"
href="https://cdn.micahlindley.com/blurbs/reset.css"
/>
<link rel="stylesheet" href="css/landing.css" />
<link rel="stylesheet" href="css/navbar.css" />
<link
href="https://fonts.googleapis.com/icon?family=Material+Icons+Round"
rel="stylesheet"
/>
</head>
<body id="body" onload="document.body.style.opacity='1'">
<div id="navbar">
<nav>
<a href="/">Home</a>
<a href="/#about">About</a>
<a
href="https://github.com/micahlt/itchy-native/releases"
target="_blank"
rel="nofollow"
>Releases</a
>
<a href="/multiplay">MultiPlay</a>
<a href="#">Privacy</a>
</nav>
</div>
<div class="about" id="about">
<div class="privacy-container">
<h1>Privacy Policy</h1>
<article>
<p style="font-size: 0.8em; margin-top: 0.5rem">
<strong>Last updated:</strong> July 28, 2025
</p>
<p>
<em>
Itchy is a third-party mobile and web client for interacting with
Scratch projects via TurboWarp, with features like mobile-friendly
controls and MultiPlay (real-time collaboration). This Privacy
Policy explains how Itchy handles your data and protects your
privacy.
</em>
</p>
<h2>1. Account Information</h2>
<p>
Itchy does <strong>not</strong> allow users to create Scratch
accounts. All accounts must be created via
<a
href="https://scratch.mit.edu"
target="_blank"
rel="noopener noreferrer"
>scratch.mit.edu</a
>. However, some Itchy features—like submitting mobile control
schemes or joining MultiPlay sessions—require login with a Scratch
account.
</p>
<ul>
<li>
Your Scratch username and password are stored
<strong>only in your device's encrypted local storage</strong>
.
</li>
<li>
You can sign out at any time, which removes this data from your
device.
</li>
<li>
<strong>Authentication and session tokens</strong> issued by
Scratch are stored <strong>on your device</strong> in cookies to
maintain login sessions. These tokens are never used for analytics
or tracking and expire according to Scratch’s own rules.
</li>
</ul>
<h2>2. ControlsDB</h2>
<p>
<a
href="https://itchy-controldb.vercel.app"
rel="noreferrer"
target="_blank"
>ControlsDB</a
>
is a community-powered database of user-submitted
<strong>mobile control schemes</strong> for Scratch games. This
allows players to interact with keyboard-based projects on
touchscreen devices.
</p>
<p>When submitting a new control mapping to ControlsDB:</p>
<ul>
<li>
The app verifies that you are logged in to your Scratch account
using your <strong>Scratch session token</strong>.
</li>
<li>
<strong
>No username, password, or personally identifying information is
sent to or stored by ControlsDB.</strong
>
</li>
<li>
ControlsDB is operated by <strong>Micah Lindley</strong>, the lead
developer of Itchy.
</li>
</ul>
<h2>3. TurboWarp Integration</h2>
<p>
Itchy embeds
<a
href="https://turbowarp.org"
target="_blank"
rel="noopener noreferrer"
>TurboWarp</a
>
inside a WebView to play Scratch projects. Additional JavaScript is
injected to:
</p>
<ul>
<li>Provide touchscreen keyboard controls.</li>
<li>Enable MultiPlay peer-to-peer collaboration.</li>
</ul>
<p>
Any projects loaded or data sent through TurboWarp servers are
governed by
<strong
><a
href="https://turbowarp.org/privacy.html"
target="_blank"
rel="noreferrer"
>TurboWarp’s own privacy policy</a
></strong
>. Itchy does not modify TurboWarp’s storage or networking beyond UI
integration and input simulation.
</p>
<h2>4. MultiPlay (WebRTC Communication)</h2>
<p>
<strong>MultiPlay</strong> allows users to collaborate in real-time
by:
</p>
<ul>
<li>
Streaming the Scratch project canvas (via
<code>canvas.captureStream</code>) from the host device—<strong
>no camera or microphone access is used</strong
>.
</li>
<li>
Receiving control input (e.g., key presses) from remote clients
via
<strong>WebRTC</strong>.
</li>
</ul>
<p>All MultiPlay communication is:</p>
<ul>
<li><strong>Peer-to-peer and encrypted</strong>.</li>
<li>
Facilitated through a <strong>signaling server</strong> (run by
Micah Lindley) that connects devices but does
<strong>not store or log any communication</strong>.
</li>
</ul>
<p>
MultiPlay is
<strong>restricted to users aged 13 and older</strong> in compliance
with child privacy guidelines.
</p>
<h2>5. Cookies and Local Storage</h2>
<p>Itchy uses on-device storage and cookies to store:</p>
<ul>
<li>
Your <strong>Scratch authentication token</strong> for session
management.
</li>
<li>
Your <strong>Scratch credentials</strong> (encrypted) for
persistent login.
</li>
</ul>
<p>
This data is <strong>not shared</strong>,
<strong>not used for tracking</strong>, and is deleted upon logout
or app uninstallation.
</p>
<h2>6. Comment Moderation and Community Interaction</h2>
<p>
Itchy does
<strong
>not host or moderate user comments or community content</strong
>. All comment functionality is part of the official Scratch
platform and is
<strong>moderated solely by the Scratch Team</strong>. If you
encounter inappropriate content or behavior in comments, please
report it through
<a
href="https://scratch.mit.edu"
target="_blank"
rel="noopener noreferrer"
>scratch.mit.edu</a
>.
</p>
<h2>7. Data Sharing and Retention</h2>
<ul>
<li>
No WebRTC communication or authentication data is stored or shared
externally.
</li>
<li>
ControlDB submissions use only the Scratch session token at the
time of submission.
</li>
<li>
All local data (credentials, tokens) is stored only on your device
and not synced to any cloud services.
</li>
<li>Tokens expire according to Scratch’s session policies.</li>
<li>
<a
href="https://firebase.google.com/products/crashlytics"
target="_blank"
rel="noopener noreferrer"
>Firebase Crashlytics</a
>
is used to handle error reporting. Logs are only sent to the
server when a crash occurs, and you can opt out of reporting in
Itchy's settings. All logs are fully anonymous and contain no
personally identifiable information.
</li>
</ul>
<h2>8. Children’s Privacy</h2>
<p>
Itchy is accessible to users under 13. However, to protect younger
users:
</p>
<ul>
<li>
<strong
>MultiPlay is available only to users aged 13 and older</strong
>.
</li>
<li>
Itchy does not collect or transmit personal information from any
user.
</li>
<li>
Parental guidance is encouraged when children use interactive
features.
</li>
</ul>
<h2>9. Contact</h2>
<p>For questions or concerns about privacy, contact:</p>
<p>
<strong>Micah Lindley</strong><br />
<a href="mailto:hi@micahlindley.com">itchy@micahlindley.com</a>
</p>
</article>
</div>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Detect.js/2.2.2/detect.min.js"></script>
</body>
</html>