PageSourceSearch

https://jspaint.app/privacy.html

html jspaint.app collected 2026-10-02 16:45:31 UTC 5,471 bytes, 152 lines download raw bytes

1<!doctype html>
2<html lang="en">
3
4<head>
5	<meta charset="utf-8">
6	<title>JS Paint — Privacy Policy</title>
7
8	<meta http-equiv="Content-Security-Policy" content="
9		default-src 'self';
10		style-src 'self' 'unsafe-inline';
11	">
12
13	<link rel="apple-touch-icon" href="images/icons/apple-icon-180x180.png">
14	<!-- Chrome will pick the largest image for some reason, instead of the most appropriate one. -->
15	<!-- <link rel="icon" type="image/png" sizes="192x192" href="images/icons/192x192.png">
16		<link rel="icon" type="image/png" sizes="32x32" href="images/icons/32x32.png">
17		<link rel="icon" type="image/png" sizes="96x96" href="images/icons/96x96.png"> -->
18	<!-- <link rel="icon" type="image/png" sizes="16x16" href="images/icons/16x16.png"> -->
19	<link rel="shortcut icon" href="favicon.ico">
20	<link rel="mask-icon" href="images/icons/safari-pinned-tab.svg" color="red">
21	<link rel="manifest" href="manifest.webmanifest">
22	<meta name="msapplication-TileColor" content="#008080">
23	<meta name="msapplication-TileImage" content="images/icons/ms-icon-144x144.png">
24	<meta name="theme-color" content="#000080">
25
26	<meta name="viewport" content="width=device-width, initial-scale=1.0">
27
28	<meta name="description" content="Classic MS Paint in the browser, with extra features">
29
30	<link href="styles/legal.css" rel="stylesheet" type="text/css">
31
32</head>
33
34<body>
35	<h1 style="text-align: center;">
36		<a href="https://jspaint.app">
37			<img src="images/icons/jspaint.svg" width="192" height="192" alt="">
38			<br>
39			<span id="jspaint-project-name">JS Paint</span>
40		</a>
41		<br>
42		<span id="jspaint-page-title">Privacy Policy</span>
43	</h1>
44
45	<p style="text-align: center;">JS Paint is a pixel-perfect remake of Microsoft Paint that runs in the browser.
46	</p>
47
48	<p style="text-align: center;">This privacy policy applies to the JS Paint website at
49		<a href="https://jspaint.app">jspaint.app</a>.
50	</p>
51
52	<main>
53		<h2>Personal Data</h2>
54		<p>
55			JS Paint doesn't track you or sell your data.
56		</p>
57		<h2>Third-Party Services</h2>
58		<p>
59			JS Paint doesn't send any information to a server in most cases.
60		</p>
61		<p>
62			There are a few features which do talk to a server:
63		</p>
64		<ul>
65			<li>
66				<strong>File > Upload to Imgur</strong> naturally requires sending the image to
67				<a href="https://imgur.com">Imgur</a> for hosting.
68			</li>
69			<li>
70				If you paste an image URL, the app will fetch the image via the URL,
71				or if that doesn't work, fetch via a
72				<a href="https://github.com/Rob--W/cors-anywhere">CORS Anywhere</a>
73				proxy service, or if that doesn't work, attempt to fetch via the
74				<a href="https://web.archive.org/">Internet Archive Wayback Machine</a>.
75			</li>
76			<li>
77				In Speech Recognition mode (<strong>Extras > Speech Recognition</strong>),
78				if you say for example "draw a cat",
79				it will try to do an anonymous Bing Images search for "cat" clipart,
80				and then animate sketching it.
81			</li>
82			<li>
83				Multi-User mode (<strong>Extras > Multi-User</strong>), intended for online collaboration, uses
84				<a href="https://firebase.google.com/">Firebase</a> for real-time communication.
85			</li>
86		</ul>
87		<p>
88			Some of these features may be defunct due to changes in the services they rely on.
89			They may be replaced or removed in the future, to simplify the privacy policy.
90		</p>
91
92		<h2>Local Storage</h2>
93		<p>
94			JS Paint uses local storage to save your work in progress.
95		</p>
96		<p>
97			You can view and delete stored images with <strong>File > Manage Storage</strong>.
98		</p>
99		<p>
100			Think of this as a backup, in case you close the tab by accident or your computer crashes.
101			Don't rely on it as your only backup.
102		</p>
103		<p>
104			There is currently no option to prevent the app from saving a backup,
105			however you can use your browser's private browsing mode to prevent the data from being persisted.
106		</p>
107		<p>
108			If the URL starts with <code>https://jspaint.app/#local:</code>, it's a local session, private to you.
109		</p>
110
111		<h2>Collaborative Sessions</h2>
112		<p>
113			Multi-user sessions are currently public. Anyone could find and view, edit, or delete them.
114		</p>
115		<p>
116			Private collaborative sessions are not yet supported.
117		</p>
118		<p>
119			If the URL starts with <code>https://jspaint.app/#session:</code>, it's a multi-user session.
120		</p>
121	</main>
122	<hr>
123	<footer>
124		<h2>More Info</h2>
125		<p>
126			<a href="https://jspaint.app"><img src="images/icons/32x32.png" width="32" height="32" alt=""
127					style="vertical-align: middle"></a>
128			JS Paint is a project by <a href="https://isaiahodhner.io">Isaiah Odhner</a>.
129		<p>
130			<a href="https://github.com/1j01/jspaint/blob/master/LICENSE.txt"><img src="images/about/free.gif"
131					width="88" height="39" alt="Free" style="vertical-align: middle"></a>
132			The project is open source under the permissive
133			<a href="https://github.com/1j01/jspaint/blob/master/LICENSE.txt">MIT License</a>.
134		</p>
135		<p>
136			<a href="https://github.com/1j01/jspaint/issues"><img src="images/about/foco.gif" width="40" height="40"
137					alt="Ideas" style="vertical-align: middle"></a>
138			You can request features and report bugs
139			<a href="https://github.com/1j01/jspaint/issues">on GitHub</a>
140			or <a href="mailto:[email protected]?subject=JS%20Paint">by email</a>.
141		</p>
142		<p>
143			<a href="about.html">
144				<img src="images/about/moreinfo_paint.gif" width="100" height="60" alt="More info"
145					style="vertical-align: middle">
146				More about JS Paint
147			</a>
148		</p>
149	</footer>
150</body>
151
152</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.