mapshaper 0.6.120 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/mapshaper.js +1013 -239
- package/package.json +1 -1
- package/www/CNAME +1 -0
- package/www/index.html +1 -1
- package/www/mapshaper-gui.js +108 -9
- package/www/mapshaper.js +1013 -239
- package/www/privacy.html +203 -0
- package/www/sponsor.html +8 -2
- package/www/terms.html +188 -0
package/www/privacy.html
ADDED
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
|
+
<title>Privacy Policy — mapshaper</title>
|
|
7
|
+
<meta name="description" content="Privacy policy for mapshaper, free open-source software for editing geographic data.">
|
|
8
|
+
<link rel="icon" type="image/png" href="images/icon.png">
|
|
9
|
+
|
|
10
|
+
<style>
|
|
11
|
+
@font-face {
|
|
12
|
+
font-family: 'SourceSans3';
|
|
13
|
+
src: url('assets/SourceSans3-VariableFont_wght.ttf') format('truetype');
|
|
14
|
+
font-display: swap;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
html, body {
|
|
18
|
+
margin: 0;
|
|
19
|
+
padding: 0;
|
|
20
|
+
background-color: #f8fdff;
|
|
21
|
+
font: 16px/1.55 'SourceSans3', Arial, sans-serif;
|
|
22
|
+
color: #333;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
a { color: #10699b; }
|
|
26
|
+
a:hover { color: #1A6A96; }
|
|
27
|
+
|
|
28
|
+
.page-header {
|
|
29
|
+
background-color: #1385B7;
|
|
30
|
+
color: white;
|
|
31
|
+
padding: 0 11px;
|
|
32
|
+
height: 29px;
|
|
33
|
+
display: flex;
|
|
34
|
+
align-items: center;
|
|
35
|
+
justify-content: space-between;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.mapshaper-logo,
|
|
39
|
+
.mapshaper-logo:hover {
|
|
40
|
+
font-weight: 600;
|
|
41
|
+
font-size: 17px;
|
|
42
|
+
color: white;
|
|
43
|
+
text-decoration: none;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.mapshaper-logo .logo-highlight {
|
|
47
|
+
color: #ffa;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.header-back {
|
|
51
|
+
color: white;
|
|
52
|
+
text-decoration: none;
|
|
53
|
+
font-size: 14px;
|
|
54
|
+
height: 29px;
|
|
55
|
+
display: inline-flex;
|
|
56
|
+
align-items: center;
|
|
57
|
+
padding: 0 10px;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.header-back:hover {
|
|
61
|
+
background-color: #1A6A96;
|
|
62
|
+
color: white;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
main {
|
|
66
|
+
max-width: 640px;
|
|
67
|
+
margin: 0 auto;
|
|
68
|
+
padding: 40px 24px 80px;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
h1 {
|
|
72
|
+
font-weight: 600;
|
|
73
|
+
font-size: 32px;
|
|
74
|
+
margin: 0 0 8px;
|
|
75
|
+
color: #222;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.updated {
|
|
79
|
+
color: #888;
|
|
80
|
+
font-size: 14px;
|
|
81
|
+
margin: 0 0 28px;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
h2 {
|
|
85
|
+
font-weight: 600;
|
|
86
|
+
font-size: 20px;
|
|
87
|
+
margin: 32px 0 10px;
|
|
88
|
+
color: #222;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
p {
|
|
92
|
+
margin: 0 0 14px;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
ul {
|
|
96
|
+
padding-left: 20px;
|
|
97
|
+
margin: 8px 0 16px;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
ul li {
|
|
101
|
+
margin-bottom: 6px;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.footer-note {
|
|
105
|
+
margin-top: 48px;
|
|
106
|
+
padding-top: 24px;
|
|
107
|
+
border-top: 1px solid #e0e8ec;
|
|
108
|
+
font-size: 14px;
|
|
109
|
+
color: #777;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.footer-note a {
|
|
113
|
+
color: #777;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
@media (max-width: 480px) {
|
|
117
|
+
main { padding: 24px 18px 60px; }
|
|
118
|
+
h1 { font-size: 26px; }
|
|
119
|
+
}
|
|
120
|
+
</style>
|
|
121
|
+
</head>
|
|
122
|
+
<body>
|
|
123
|
+
|
|
124
|
+
<header class="page-header">
|
|
125
|
+
<a href="." class="mapshaper-logo">map<span class="logo-highlight">shaper</span></a>
|
|
126
|
+
<a href="." class="header-back">← Back to mapshaper</a>
|
|
127
|
+
</header>
|
|
128
|
+
|
|
129
|
+
<main>
|
|
130
|
+
|
|
131
|
+
<h1>Privacy Policy</h1>
|
|
132
|
+
<p class="updated">Last updated: April 2026</p>
|
|
133
|
+
|
|
134
|
+
<h2>Overview</h2>
|
|
135
|
+
<p>Mapshaper is free, open-source software for editing geographic data, hosted at mapshaper.org. This policy explains what information is collected when you use the site, how it is used, and what choices you have.</p>
|
|
136
|
+
<p>We collect as little information as possible. We do not sell or share your information with advertisers or data brokers.</p>
|
|
137
|
+
|
|
138
|
+
<h2>Information collected</h2>
|
|
139
|
+
<p><strong>On mapshaper.org:</strong></p>
|
|
140
|
+
<ul>
|
|
141
|
+
<li><strong>Web analytics</strong> via Google Analytics. This includes pages visited, browser and device type, approximate location (typically city-level, derived from your IP address), and timestamps. The data helps us understand how the site is used.</li>
|
|
142
|
+
<li><strong>Basemap requests.</strong> When the in-app basemap loads, the application requests assets from Mapbox servers. As with any web request, this transmits your IP address to Mapbox to facilitate data delivery and session accounting.</li>
|
|
143
|
+
<li><strong>Standard server logs</strong> are kept by GitHub Pages, the hosting provider. As with any web request, this records your IP address, browser user-agent string, and the URL requested. GitHub uses these for traffic analysis, security monitoring, and abuse prevention.</li>
|
|
144
|
+
</ul>
|
|
145
|
+
<p><strong>On the support page:</strong></p>
|
|
146
|
+
<ul>
|
|
147
|
+
<li><strong>Email address</strong>, if you provide one for a payment receipt. The address is handled by the payment processor (Stripe via Ko-fi, or GitHub Sponsors), not stored by mapshaper.</li>
|
|
148
|
+
<li><strong>Name and payment information</strong> are handled directly by the payment processor.</li>
|
|
149
|
+
</ul>
|
|
150
|
+
|
|
151
|
+
<h2>Information not collected</h2>
|
|
152
|
+
<ul>
|
|
153
|
+
<li>Files you load into mapshaper for editing remain in your browser. They are not uploaded to our servers or to any third party.</li>
|
|
154
|
+
<li>We do not maintain user accounts or store any user data on our own servers.</li>
|
|
155
|
+
<li>We do not sell, rent, or share your information with advertisers or data brokers.</li>
|
|
156
|
+
</ul>
|
|
157
|
+
|
|
158
|
+
<h2>Third parties</h2>
|
|
159
|
+
<p>The following services receive data when you use mapshaper:</p>
|
|
160
|
+
<ul>
|
|
161
|
+
<li><strong>Google Analytics</strong> — site usage analytics. <a href="https://policies.google.com/privacy">Privacy Policy</a></li>
|
|
162
|
+
<li><strong>Mapbox</strong> — basemap tiles. <a href="https://www.mapbox.com/legal/privacy">Privacy Policy</a></li>
|
|
163
|
+
<li><strong>GitHub</strong> — site hosting (GitHub Pages) and sponsorship platform. <a href="https://docs.github.com/site-policy/privacy-policies/github-general-privacy-statement">Privacy Statement</a></li>
|
|
164
|
+
<li><strong>Ko-fi</strong> — payment processing. <a href="https://ko-fi.com/manage/privacy">Privacy Policy</a></li>
|
|
165
|
+
<li><strong>Stripe</strong> — payment processing for Ko-fi contributions. <a href="https://stripe.com/privacy">Privacy Policy</a></li>
|
|
166
|
+
</ul>
|
|
167
|
+
|
|
168
|
+
<h2>Cookies</h2>
|
|
169
|
+
<p>Google Analytics sets cookies to track usage. You can opt out by:</p>
|
|
170
|
+
<ul>
|
|
171
|
+
<li>Adjusting your browser settings to block third-party cookies</li>
|
|
172
|
+
<li>Sending a Do Not Track signal</li>
|
|
173
|
+
<li>Installing the Google Analytics opt-out browser extension</li>
|
|
174
|
+
<li>Using a privacy-focused browser or extension that blocks analytics</li>
|
|
175
|
+
</ul>
|
|
176
|
+
|
|
177
|
+
<h2>EU and UK users (GDPR)</h2>
|
|
178
|
+
<p>If you are in the European Union or United Kingdom, the General Data Protection Regulation gives you the right to access, correct, delete, or export the personal data we hold about you, and to object to processing. Because we do not maintain a user database, the data we hold about any individual is limited to analytics events and (if you have contributed) records held by the payment processors.</p>
|
|
179
|
+
<p>To exercise these rights, contact us using the information below. The legal basis for processing is legitimate interest (analytics) and contract (payment processing).</p>
|
|
180
|
+
|
|
181
|
+
<h2>California residents (CCPA)</h2>
|
|
182
|
+
<p>California residents have the right to know what personal information we collect, to request its deletion, and to opt out of any sale of personal information. We do not sell personal information.</p>
|
|
183
|
+
|
|
184
|
+
<h2>Security</h2>
|
|
185
|
+
<p>All connections to mapshaper.org use TLS encryption (HTTPS). Payment information is handled by PCI-compliant processors (Stripe). We do not store payment information on our own systems.</p>
|
|
186
|
+
|
|
187
|
+
<h2>Children</h2>
|
|
188
|
+
<p>Mapshaper is not directed at children under 13. We do not knowingly collect personal information from children.</p>
|
|
189
|
+
|
|
190
|
+
<h2>Changes to this policy</h2>
|
|
191
|
+
<p>This policy may be updated from time to time. The “Last updated” date at the top reflects the most recent change. We encourage you to review the policy periodically.</p>
|
|
192
|
+
|
|
193
|
+
<h2>Contact</h2>
|
|
194
|
+
<p>Questions about privacy can be sent to the maintainer via <a href="https://github.com/mbloch/mapshaper/issues">GitHub</a> or <a href="https://ko-fi.com/mapshaper">Ko-fi</a>.</p>
|
|
195
|
+
|
|
196
|
+
<div class="footer-note">
|
|
197
|
+
<a href="terms.html">Terms of Service</a> · <a href="sponsor.html">Support mapshaper</a> · <a href=".">Back to mapshaper</a>
|
|
198
|
+
</div>
|
|
199
|
+
|
|
200
|
+
</main>
|
|
201
|
+
|
|
202
|
+
</body>
|
|
203
|
+
</html>
|
package/www/sponsor.html
CHANGED
|
@@ -156,6 +156,10 @@
|
|
|
156
156
|
color: #777;
|
|
157
157
|
}
|
|
158
158
|
|
|
159
|
+
.footer-note a {
|
|
160
|
+
color: #777;
|
|
161
|
+
}
|
|
162
|
+
|
|
159
163
|
@media (max-width: 480px) {
|
|
160
164
|
main { padding: 24px 18px 60px; }
|
|
161
165
|
h1 { font-size: 26px; }
|
|
@@ -167,8 +171,8 @@
|
|
|
167
171
|
<body>
|
|
168
172
|
|
|
169
173
|
<header class="page-header">
|
|
170
|
-
<a href="
|
|
171
|
-
<a href="
|
|
174
|
+
<a href="." class="mapshaper-logo">map<span class="logo-highlight">shaper</span></a>
|
|
175
|
+
<a href="." class="header-back">← Back to mapshaper</a>
|
|
172
176
|
</header>
|
|
173
177
|
|
|
174
178
|
<main>
|
|
@@ -207,6 +211,8 @@
|
|
|
207
211
|
|
|
208
212
|
<div class="footer-note">
|
|
209
213
|
Mapshaper’s basemap services are generously provided by <a href="https://www.mapbox.com">Mapbox</a>.
|
|
214
|
+
<br>
|
|
215
|
+
<a href="privacy.html">Privacy Policy</a> · <a href="terms.html">Terms of Service</a>
|
|
210
216
|
</div>
|
|
211
217
|
|
|
212
218
|
</main>
|
package/www/terms.html
ADDED
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
|
+
<title>Terms of Service — mapshaper</title>
|
|
7
|
+
<meta name="description" content="Terms of service for mapshaper, free open-source software for editing geographic data.">
|
|
8
|
+
<link rel="icon" type="image/png" href="images/icon.png">
|
|
9
|
+
|
|
10
|
+
<style>
|
|
11
|
+
@font-face {
|
|
12
|
+
font-family: 'SourceSans3';
|
|
13
|
+
src: url('assets/SourceSans3-VariableFont_wght.ttf') format('truetype');
|
|
14
|
+
font-display: swap;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
html, body {
|
|
18
|
+
margin: 0;
|
|
19
|
+
padding: 0;
|
|
20
|
+
background-color: #f8fdff;
|
|
21
|
+
font: 16px/1.55 'SourceSans3', Arial, sans-serif;
|
|
22
|
+
color: #333;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
a { color: #10699b; }
|
|
26
|
+
a:hover { color: #1A6A96; }
|
|
27
|
+
|
|
28
|
+
.page-header {
|
|
29
|
+
background-color: #1385B7;
|
|
30
|
+
color: white;
|
|
31
|
+
padding: 0 11px;
|
|
32
|
+
height: 29px;
|
|
33
|
+
display: flex;
|
|
34
|
+
align-items: center;
|
|
35
|
+
justify-content: space-between;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.mapshaper-logo,
|
|
39
|
+
.mapshaper-logo:hover {
|
|
40
|
+
font-weight: 600;
|
|
41
|
+
font-size: 17px;
|
|
42
|
+
color: white;
|
|
43
|
+
text-decoration: none;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.mapshaper-logo .logo-highlight {
|
|
47
|
+
color: #ffa;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.header-back {
|
|
51
|
+
color: white;
|
|
52
|
+
text-decoration: none;
|
|
53
|
+
font-size: 14px;
|
|
54
|
+
height: 29px;
|
|
55
|
+
display: inline-flex;
|
|
56
|
+
align-items: center;
|
|
57
|
+
padding: 0 10px;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.header-back:hover {
|
|
61
|
+
background-color: #1A6A96;
|
|
62
|
+
color: white;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
main {
|
|
66
|
+
max-width: 640px;
|
|
67
|
+
margin: 0 auto;
|
|
68
|
+
padding: 40px 24px 80px;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
h1 {
|
|
72
|
+
font-weight: 600;
|
|
73
|
+
font-size: 32px;
|
|
74
|
+
margin: 0 0 8px;
|
|
75
|
+
color: #222;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.updated {
|
|
79
|
+
color: #888;
|
|
80
|
+
font-size: 14px;
|
|
81
|
+
margin: 0 0 28px;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
h2 {
|
|
85
|
+
font-weight: 600;
|
|
86
|
+
font-size: 20px;
|
|
87
|
+
margin: 32px 0 10px;
|
|
88
|
+
color: #222;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
p {
|
|
92
|
+
margin: 0 0 14px;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
ul {
|
|
96
|
+
padding-left: 20px;
|
|
97
|
+
margin: 8px 0 16px;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
ul li {
|
|
101
|
+
margin-bottom: 6px;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.footer-note {
|
|
105
|
+
margin-top: 48px;
|
|
106
|
+
padding-top: 24px;
|
|
107
|
+
border-top: 1px solid #e0e8ec;
|
|
108
|
+
font-size: 14px;
|
|
109
|
+
color: #777;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.footer-note a {
|
|
113
|
+
color: #777;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
@media (max-width: 480px) {
|
|
117
|
+
main { padding: 24px 18px 60px; }
|
|
118
|
+
h1 { font-size: 26px; }
|
|
119
|
+
}
|
|
120
|
+
</style>
|
|
121
|
+
</head>
|
|
122
|
+
<body>
|
|
123
|
+
|
|
124
|
+
<header class="page-header">
|
|
125
|
+
<a href="." class="mapshaper-logo">map<span class="logo-highlight">shaper</span></a>
|
|
126
|
+
<a href="." class="header-back">← Back to mapshaper</a>
|
|
127
|
+
</header>
|
|
128
|
+
|
|
129
|
+
<main>
|
|
130
|
+
|
|
131
|
+
<h1>Terms of Service</h1>
|
|
132
|
+
<p class="updated">Last updated: April 2026</p>
|
|
133
|
+
|
|
134
|
+
<h2>Acceptance</h2>
|
|
135
|
+
<p>By using mapshaper.org or related services (collectively, “the service”), you agree to these terms. If you do not agree, please do not use the service.</p>
|
|
136
|
+
|
|
137
|
+
<h2>About mapshaper</h2>
|
|
138
|
+
<p>Mapshaper is free, open-source software for editing geographic data, hosted at mapshaper.org and maintained by Matthew Bloch. The source code is licensed under the <a href="https://github.com/mbloch/mapshaper/blob/master/LICENSE.txt">Mozilla Public License 2.0</a>.</p>
|
|
139
|
+
|
|
140
|
+
<h2>Use of the software</h2>
|
|
141
|
+
<p>The software is provided under the terms of the MPL 2.0. You may use, modify, and redistribute the source code in accordance with that license. These Terms of Service govern your use of mapshaper.org as a hosted service; the MPL 2.0 governs your rights to the source code.</p>
|
|
142
|
+
|
|
143
|
+
<h2>Your responsibilities</h2>
|
|
144
|
+
<p>You are responsible for:</p>
|
|
145
|
+
<ul>
|
|
146
|
+
<li>The accuracy and legality of any data you load into or process with mapshaper</li>
|
|
147
|
+
<li>Ensuring you have the right to use any data you load (copyright, licensing, terms of source data)</li>
|
|
148
|
+
<li>Compliance with all applicable laws in your use of the service</li>
|
|
149
|
+
<li>Not using the service to violate the rights of others, transmit illegal content, or attempt to disrupt the service or its third-party providers</li>
|
|
150
|
+
</ul>
|
|
151
|
+
|
|
152
|
+
<h2>No warranty</h2>
|
|
153
|
+
<p>The service is provided “as is” and “as available,” without warranty of any kind, express or implied. We make no warranty that the service will be uninterrupted, secure, error-free, or that any output will be accurate, complete, or fit for any particular purpose.</p>
|
|
154
|
+
<p>Map data, basemaps, and conversion results may contain errors. Do not rely on mapshaper output for navigation, safety-critical decisions, legal boundaries, or other applications where accuracy is essential.</p>
|
|
155
|
+
|
|
156
|
+
<h2>Limitation of liability</h2>
|
|
157
|
+
<p>To the maximum extent permitted by law, mapshaper, its maintainer, and contributors are not liable for any direct, indirect, incidental, consequential, special, or punitive damages arising from your use of (or inability to use) the service, including but not limited to loss of data, business interruption, lost profits, or any other commercial damages.</p>
|
|
158
|
+
|
|
159
|
+
<h2>Contributions</h2>
|
|
160
|
+
<p>Contributions made via Ko-fi or GitHub Sponsors are voluntary. They are not tax-deductible (mapshaper is not a registered charity). Contributions are non-refundable except in cases of fraud or technical error. Refund requests should be directed to the payment processor (Ko-fi, Stripe, or GitHub).</p>
|
|
161
|
+
|
|
162
|
+
<h2>Third-party services</h2>
|
|
163
|
+
<p>The service relies on third-party providers including:</p>
|
|
164
|
+
<ul>
|
|
165
|
+
<li><strong>GitHub Pages</strong> for site hosting</li>
|
|
166
|
+
<li><strong>Mapbox</strong> for basemap tiles</li>
|
|
167
|
+
<li><strong>Google Analytics</strong> for usage analytics</li>
|
|
168
|
+
<li><strong>Stripe</strong>, <strong>Ko-fi</strong>, and <strong>GitHub Sponsors</strong> for payment processing</li>
|
|
169
|
+
</ul>
|
|
170
|
+
<p>When you interact with these services through mapshaper, their terms of service and privacy policies also apply. We are not responsible for the availability, behavior, or content of third-party services.</p>
|
|
171
|
+
|
|
172
|
+
<h2>Changes to these terms</h2>
|
|
173
|
+
<p>These terms may be updated. The “Last updated” date at the top reflects the most recent change. Continued use of the service after changes constitutes acceptance of the updated terms.</p>
|
|
174
|
+
|
|
175
|
+
<h2>Governing law</h2>
|
|
176
|
+
<p>These terms are governed by the laws of the State of New York, United States, without regard to conflict-of-law principles.</p>
|
|
177
|
+
|
|
178
|
+
<h2>Contact</h2>
|
|
179
|
+
<p>Questions about these terms can be sent to the maintainer via <a href="https://github.com/mbloch/mapshaper/issues">GitHub</a> or <a href="https://ko-fi.com/mapshaper">Ko-fi</a>.</p>
|
|
180
|
+
|
|
181
|
+
<div class="footer-note">
|
|
182
|
+
<a href="privacy.html">Privacy Policy</a> · <a href="sponsor.html">Support mapshaper</a> · <a href=".">Back to mapshaper</a>
|
|
183
|
+
</div>
|
|
184
|
+
|
|
185
|
+
</main>
|
|
186
|
+
|
|
187
|
+
</body>
|
|
188
|
+
</html>
|