Privacy policy
Last updated 2026-11-01
TerraPrinter is free and has no ads. We don't sell personal information, we don't use third-party analytics or advertising trackers, and you can make and download models without an account.
TerraPrinter is operated by Capital Coders (“we”, “us”). This policy covers terraprinter.com and its subdomains, including the TerraPrinter tools for AI assistants. Questions and requests: privacy@capitalcoders.ca.
Models are made in your browser
The 3D model is built on your own device. The files you download (STL, 3MF, GLB, OBJ) are not uploaded to us unless you sign in and save a build, which stores its settings and a preview image, not the model file.
Your own elevation data: elevation files you load into the app (GeoTIFF, ASCII grid, XYZ, LAS or LAZ) are read and processed only in your browser and are never uploaded to us. The app keeps them in your browser's storage (IndexedDB, tp-owndem) so they are still there after a reload; Remove deletes them. A model link only notes that your own data was used, never the data itself.
Open in slicer: when you use the “Open in…” button to send a model to Bambu Studio, OrcaSlicer or Cura, your browser uploads that 3MF file to our server so your slicer can download it from a link. The file is stored under a random, unguessable link, is not listed anywhere, and is deleted automatically after one hour. We record which slicer was chosen (as a usage event, below) and count uploads per IP address to prevent abuse.
What we collect
When you use the site, with or without an account
- Visit statistics: the page you open, the site that referred you and any campaign tags in the link, your browser language and time zone (from which we infer your country; we don't look up your IP address for this), device type, browser and operating system, screen size, and how long the page was in use. These are tied to a random ID kept in your browser's local storage (
tp_sid), not to your name or email. - Model generations and downloads: the area you selected (coordinates), the model settings and export format, plus that random ID, your IP address and your browser's user-agent string. We use this to understand which features are used, to size our servers and to stop abuse.
- How model making goes: small events that record when you press Generate, whether the model finished or failed (with a rough reason, such as map data or elevation failing), roughly how long it took, the rough size of the area (in bands like 10–100 km²), whether you opened the download window or the 3D preview, which download button you pressed, and whether the page was closed before anything was downloaded. Each one only carries your device type (phone, tablet or computer) and the random ID, plus the IP address and user-agent every request has. We use them to find out why some people don't get their file and to fix it.
- How outside services load: for each service a page uses (place search, map tiles, elevation and the others listed below), how many requests loaded, failed or were slow and how long they took. These are added to daily totals per country and service; no addresses you looked up, page links or IDs are kept with them. We use them to find services that are blocked or slow in some countries.
- Server logs: like most websites, our hosting provider records each request (IP address, page, time, browser) in standard web server logs.
If you create an account
- Your email address and a hashed password (we never see or store the password itself).
- An optional display name, shown on builds you share.
- The IP address you signed up from and last signed in from, and recent sign-in attempts (IP and email, deleted after one day), to protect accounts from password guessing.
- Your saved builds and gift designs (settings, name, tags, preview image), print photos you upload, likes, and whether each build is private, unlisted or public.
- If you use the seller dashboard: your products (names, SKUs, prices and costs), your settings (currency, cost rates and channel fees), and the orders you add or import. An order keeps the date, item, SKU, quantity, prices, fees, sales channel, status, order number, any personalisation text and notes you add, and, if you enter or import it, your customer's first name. When you import an Etsy or Shopify CSV file, it is read on our server only to pick out those fields; the file itself, and the addresses, email addresses and last names in it, are not stored. Seller data is private to your account: it is never shown to anyone else or used for anything but showing it back to you. As the seller, you are responsible for your own customers' data; keep only what you need.
- If you take part in Print the planet together: which tiles you claimed and when, whether you let them go, and the photo and optional caption you post for a tile. We check each photo before it shows; once approved, the photo, caption, tile and your display name are public on the project's pages (your email address never is). We email you when a photo is approved or turned down. Photos are shrunk in your browser before upload and their location data is dropped.
- If you ask to be listed on the seller spotlight: your shop name, shop link, short description and one photo. We review it before it shows; once approved, these are public on /sellers/ (your email address never is). We email you when it is approved or turned down. You can remove the listing at any time from the seller dashboard, which deletes it and the photo.
- If you open a shared build with “Open & remix” and then save your own version, which build it was remixed from. A public remix shows “Remix of …” with a link to the original when the original is public, and the original's page shows how many times it has been remixed (a number only, never who).
- Named print-settings presets you save, the colour styles and model versions you save in Make adjustments (versions you send with a remix link can be opened by anyone who has that link, and colour styles you choose to share are shown to everyone with their name, but not your name or email), and your email preferences.
- The random visit ID from your browser, so we can tell which page brought new members.
- If you sign in to our sister site TerraPuzzle with your TerraPrinter account, we send it your account number, email address, display name and commercial license details (number, plan, name on the license, status and renewal date), so it can show your account and put your license in your puzzle downloads. It checks the license again at most once an hour. Its privacy policy says how it keeps them.
Other things you send us
- Reports about a shared build: the reason and details you give, your account (if signed in) and IP address.
- Feature suggestions and support requests: the message you send, your name and email address if you give them, the page you were on (in the app this link includes the map area and settings), your IP address, browser and the random visit ID.
- Share links: when you press Share on a model, we store its settings (including the map area), the place name, a picture of the model and your IP address, so the link can show and rebuild it. Anyone with the link can see the model, its picture and where it is. We count how often each link is opened. Links are hidden from search engines unless you turn on Let search engines show this page in the Share window; then the page can appear in Google and other search results (we can turn this off for any page). If you use Send as a gift, the gift link also stores the names you type (who it is for and who it is from), the occasion and your message, and shows them on the gift page to anyone who has the link. Gift links get their own address and are never shown to search engines.
- QR code under the model and story pages: when you add a QR code in the download window, the model's share link (above) becomes its story page. We also store a light 3D view of the model for that page and a random key kept in your browser (or your account, if you are signed in) that lets you edit it. If you add a heading, a note or photos, we store them with the IP address they came from and show them to anyone who opens the link or scans the code. Visitors can report a story page (we count reports, we don't keep what they write). We count how often each page is opened and scanned. You can remove your photos and words at any time on the page; email us the link to have the whole page removed.
- Get it printed: when you press Order from a print service in the download window, we store a copy of your model in the file type that service wants, at a private link that is hard to guess, and give that link (and your model's share link) to that service only. With the copy we keep the service you chose, the model's name and size, your country if you picked one, your IP address and a reference number. If you Request a quote, we also store your name, email address, country, the quantity and your notes, and send them, with the model, to that one print service by email, only after you tick the box that says so; we send you a copy. That print service is a separate business and handles your details under its own privacy policy. If you apply to become a print partner, we store what you send in the form and your IP address. We count how often each service is shown, chosen and sent a file, to work out referral fees with them.
- Send to my computer: this makes a share link for your model (stored as described above, but never shown to search engines unless you ask) so you can open it on another device. If you choose Email it to me, we send one plain email with the link to the address you type (or your account email if you leave it empty while signed in). We don't store that address: we only keep a one-way hash of it, together with your IP address, for one day to limit how many emails can be sent (5 per hour from one IP address, 3 per hour to one address). The QR code is drawn in your browser. We count how often each option is used.
- Commercial licenses through Stripe: when you buy a license, Stripe takes your card and billing details; we never see or store your card number. Stripe tells us your email address, the plan and its status, renewal dates and the amounts paid, and the name you put on the license. We keep those with your account and Stripe's customer and subscription IDs, to run your license and for our accounts. The name on the license, its number, plan and dates are public on your license page (
/license/check/); your email address is never shown. - Donations: the Buy me a coffee button after you generate a model is a plain link to Buy Me a Coffee. If you give, Buy Me a Coffee handles it under its own privacy policy; we don't receive your details. We count how often the button is clicked (as a usage event, above). Records of coffees received before 28 October 2026 are kept for our accounts.
- Email: we send email to reset your password when you ask, the link you ask for with Send to my computer, and — unless you turn it off — a short note when someone shares a remix of one of your public builds (at most one per build per day). Every notification has a one-click unsubscribe link, and you can switch them off in your account settings. We don't send marketing email.
AI assistants (the TerraPrinter connector and links for Claude, ChatGPT and others): we receive only the place name or coordinates and model settings the assistant sends, never your conversation. Place searches are passed to OpenStreetMap's Nominatim service and cached for 30 days.
Cookies and browser storage
| Name | Kind | Purpose |
|---|---|---|
tp_auth | Cookie | Keeps you signed in, only set when you sign in. Expires after 60 days or when you sign out. |
tp_lang | Cookie and local storage | The language you use the site in, so pages open in it and account emails (like remix notices) are sent in it. Expires after a year. |
tp_sid | Local storage | Random ID for the visit statistics above. |
tp_downloads, tp_photo_asked, tp_photo_ask_off | Local storage | Your last few model downloads (place name, date, link), the models we've already asked about, and whether you chose “Don't ask again”, so the app can ask once per model, a day or more later, whether you'd like to add a photo of your print. Never sent to us; we only count how often the question is shown and answered (as usage events, above). |
tp_recent | Local storage | Your last 10 models on this device (place name, model settings, size, date and a small picture), so you can open them again without an account. Never sent to us. Clear all in the Recent models list removes them. |
tp_license | Local storage | Your commercial license number, plan and name, so your downloads can carry them. Cleared when you sign out. |
tp-owndem | IndexedDB | Elevation files you loaded with Your own elevation data (or the grid made from a point cloud), so they come back after a reload. Never sent to us. Remove deletes them. |
tp_bed | Local storage | Your printer, nozzle size and colour slots, for the bed-size and print checks. Never sent to us. |
tp_geo_proxy | Local storage | Set for a week when OpenStreetMap's place search couldn't be reached from your network, so searches go through our server straight away. |
| Preferences | Local and session storage | Remember your language, whether you've seen the tour, and similar settings. These never leave your browser. |
We don't use advertising or cross-site tracking cookies. Clearing your browser's site data removes all of these and gives you a new random ID.
Services your browser connects to
To draw the map and build models, your browser loads data straight from these providers, which therefore see your IP address and the map area you're viewing:
- Map imagery: EOX (Sentinel-2 satellite imagery), CARTO and OpenTopoMap, and Esri when you choose the HD satellite map. Models never use Esri imagery.
- Place search: OpenStreetMap Nominatim (receives what you type in the search box). Where Nominatim can't be reached from your network, or is very slow, the search goes through our own server instead, which keeps the results for 30 days and doesn't pass on your IP address.
- Route search: the OpenStreetMap Overpass API (overpass-api.de, or the overpass.private.coffee mirror when it is busy), which receives the map area and any route name you search for.
- Treasure hunt spot ideas (/gifts/treasure-hunt/), only when you press Suggest spots: the same Overpass API, which receives the map area. The hunt itself (your stops, clues and names) stays in your browser and in the page's link, and is never sent to us.
- Time travel: the OpenHistoricalMap Overpass API (overpass-api.openhistoricalmap.org), which receives the map area and the year when you make a model with Time travel on.
- Elevation and planet data: our own elevation server, Mapzen Terrain Tiles and USGS planetary data on Amazon Web Services, and for small models in the US and Canada, the U.S. Geological Survey (elevation.nationalmap.gov) and Natural Resources Canada (datacube.services.geo.ca). For small models in parts of Europe, the national or state survey that holds the 1 m terrain there: in Germany, Geobasis NRW (wcs.nrw.de), Hesse (inspire-hessen.de), Lower Saxony (opendata.geoservices.lgln.niedersachsen.de), Mecklenburg-Western Pomerania (geodaten-mv.de), Brandenburg (isk.geobasis-bb.de) and Saxony-Anhalt (geodatenportal.sachsen-anhalt.de); the Netherlands (service.pdok.nl), Flanders (geo.api.vlaanderen.be), England (environment.data.gov.uk), France (data.geopf.fr), Switzerland (data.geo.admin.ch), Norway (wcs.geonorge.no) and Czechia (ags.cuzk.gov.cz). Terrain for Saxony, Bavaria and Rhineland-Palatinate is fetched by our own server, so those surveys don't see your IP address. With Lake depths on, the GEBCO lake and sea-floor grid on Source Cooperative (data.source.coop), which receives the map area as the part of the file your browser reads.
- Nature layers, only when you turn them on: the GLIMS glacier database (www.glims.org) for glacier outlines; for burn areas, the US National Interagency Fire Center's map service (services3.arcgis.com), Natural Resources Canada's fire information system (cwfis.cfs.nrcan.gc.ca) and the European Forest Fire Information System (maps.effis.emergency.copernicus.eu). They receive the map area of your model.
- Geology mode, only when you turn it on: Macrostrat (tiles.macrostrat.org and macrostrat.org, run by the University of Wisconsin–Madison) for the geological map and the rock layers. It receives the map area you look at or make a model of, and the middle point of the model.
- Earthquakes, only when you turn them on: the U.S. Geological Survey (earthquake.usgs.gov) for the list of recorded earthquakes and, in the US, the fault lines. It receives the map area you look at or make a model of. Plate boundaries come from our own server.
- See the wind, only when you open Wind in the 3D preview or print wind lines: Open-Meteo (api.open-meteo.com and archive-api.open-meteo.com) for the wind. It receives a few points spread over your model's area and the day you picked.
- Buy Me a Coffee, only if you click the donate button and choose to give.
- The print service you choose under Get it printed, only when you order from it or visit its website: its pages open in your browser, and it downloads your model from our server. Quote requests reach it by email from us.
- Stripe (checkout.stripe.com), when you buy or manage a commercial license. Stripe handles the payment under its own privacy policy.
- QR Server (goqr.me), which receives the current page link when you open the AR preview so it can draw a QR code for your phone.
Fonts and code libraries are served from our own server, so no font service sees your visit.
Share buttons (Reddit, Facebook, X, Pinterest, LinkedIn) are plain links: nothing is sent to those sites unless you click one. Each provider handles data under its own privacy policy.
How we use it
- To run TerraPrinter: sign-in, saving and sharing builds, the public gallery. Photos on public builds may also be shown on our place pages (for builds of that area) and as the “print of the week” (picked by us, or automatically from the most-liked recent photos) across the site, always with your display name and a link to the build; making a build private or deleting the photo removes it everywhere.
- To understand how the site is used, in aggregate, and decide what to improve.
- To keep the service working and safe: rate limits, spotting abuse, moderating shared builds and enforcing bans.
- To answer you when you contact us.
We don't sell or rent personal information, use it for advertising, or share it with anyone except the hosting and service providers that run the site for us, the print service you choose to send a model or quote request to, or when the law requires it.
How long we keep it
- Account data, saved builds and photos: until you delete them or your account. Deleting your account (from your account page) permanently removes your account, builds, designs, photos, likes and all seller dashboard data (products, orders, settings and any seller spotlight listing).
- Seller dashboard orders and products: until you delete them (one by one in the dashboard) or your account. You can export your sales as a CSV file at any time.
- Sign-in sessions: 60 days. Sign-in attempts and Send to my computer email limits (hashed address and IP): one day. Password reset links: until they expire.
- Visit statistics and model generation records: kept for usage statistics. Email us your
tp_sidID (or your account email) and we'll delete the records tied to it. - Print the planet together: claims (tile, dates) are kept as the project's history; a claim you don't post a photo for ends after 30 days. Photos are deleted when you let a tile go, when a claim ends without an approved photo, when we release a tile, or when you delete your account. Approved photos stay up until then.
- Model files sent to a slicer with “Open in…”: deleted automatically one hour after upload.
- Get it printed: model copies for a print service are deleted automatically 30 days after upload. Quote requests are kept 12 months, then your name, email address and notes are deleted (the reference, date and service stay, for our accounts with the print service). Print partner applications we turn down are deleted after 12 months.
- Share links: kept so the links keep working. Email us the link to have it removed.
- License and payment records: kept for our accounts and tax records, also after you delete your account (then without the link to it). Stripe keeps its own records of payments.
- Donation records from before 28 October 2026: kept for our accounts. Email us to have your name and message removed.
- Feature suggestions, support requests and reports: as long as needed to handle them and keep a record of moderation decisions.
Your choices and rights
You can use TerraPrinter without an account, edit or delete your builds at any time, and delete your account yourself. You can also email privacy@capitalcoders.ca to ask for a copy of the personal information we hold about you, to correct it, or to delete it. Depending on where you live you may have further rights under laws such as Canada's PIPEDA, the EU and UK GDPR, or California's CCPA, including the right to complain to your data protection authority. We'll answer requests within 30 days.
Where data is stored
Our servers are run by a hosting provider and the third-party services above operate worldwide, so your information may be processed outside your country. We protect it with HTTPS, hashed passwords and session tokens, and access limited to the people who run TerraPrinter.
Children
TerraPrinter accounts are not meant for children under 13, and we don't knowingly collect their personal information. If you think a child has created an account, email us and we'll delete it.
Changes
If we change this policy we'll post the new version here and update the date at the top.
Contact
Capital Coders — privacy@capitalcoders.ca