Skip to content

Commit 9d2d404

Browse files
committed
Add a Privacy Policy
Closes #214
1 parent 0c0f160 commit 9d2d404

3 files changed

Lines changed: 163 additions & 0 deletions

File tree

index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ <h1 id="about-paint-header">
119119
or <a href="mailto:isaiahodhner@gmail.com?subject=JS%20Paint">by email</a>.</p>
120120
<p>Support the project at <a href="https://www.paypal.me/IsaiahOdhner"
121121
target="_blank">paypal.me/IsaiahOdhner</a>.</p>
122+
<p><a href="privacy.html" target="_blank">Privacy Policy</a></p>
122123
</div>
123124
<script type="module" src="src/test-news.js"></script>
124125
<!--

privacy.html

Lines changed: 152 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,152 @@
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:isaiahodhner@gmail.com?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>

styles/legal.css

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
body {
2+
font-family: sans-serif;
3+
}
4+
5+
main,
6+
footer {
7+
margin: 0 auto;
8+
max-width: 60em;
9+
padding: 1em;
10+
}

0 commit comments

Comments
 (0)