Skip to content
mantle place · legal

Privacy policy

Last updated: 2026-10-08

0. Data controller

Mantle Place LLC is the data controller for personal data processed through mantle.place. For privacy questions, data-subject requests, or to contact the controller, email contact@mantle.place. Mantle Place LLC does not currently have an appointed EU representative under GDPR Art. 27; if EU traffic exceeds the Art. 27 threshold (regular processing of EU resident data at scale) we will appoint one and update this section.

1. What we collect

When you use Mantle Place we collect:
  • Email address: required to deliver bundles and re-access links. Provided by you at checkout or through Supabase Auth.
  • Order details: your AOI bbox, codename, the canonical provider IDs used to fulfill the order (Protomaps, NAIP or Sentinel-2, USGS 3DEP in the continental US or Mapterhorn elsewhere, Overture Maps), and the computed price.
  • Payment metadata: Stripe handles card details directly; we store only the resulting PaymentIntent / Customer / Charge IDs and the dispute / refund status returned by Stripe webhooks.
  • Technical signals: IP address (for rate limiting), browser user-agent, request paths, and standard server logs.

2. Subprocessors we share data with

Mantle Place is a small operation built on third-party infrastructure. Your data flows through:
  • Stripe: payment processing and refunds.
  • Cloudflare: Workers runtime, KV (rate limit + tile vintage), R2 (bundle storage), CDN.
  • Supabase: Postgres database (orders, users, etl_jobs) and Auth.
  • Google Cloud Platform: Pub/Sub queue and Cloud Batch workers that produce your bundles.
  • Resend: transactional email (bundle-ready, refund, dispute notifications).
  • PostHog: pseudonymous product analytics. Data hosted in the US region; transfers from the EU rely on PostHog Inc.’s EU-US Data Privacy Framework certification.

Esri, only if you use the Satellite view. The curator globe’s optional Satellite view loads imagery straight from Esri (ArcGIS Location Platform) in your browser. Esri then receives what any website you load from receives: your IP address, your browser’s user-agent, and which map tiles you view, which shows roughly where you are looking. We send Esri nothing about you or your account. The default Stylized view contacts no one but us. Esri handles those requests under its own privacy statement.

We don’t sell your data, and we don’t share it with anyone outside the list above unless required by law.

3. Cookies & sessions

We use first-party cookies set by Supabase Auth to keep you logged in across pages. Stripe sets its own cookies on checkout pages for fraud detection and payment-method memory. For product analytics we use first-party browser localStorage rather than cookies. See §7 for the events we collect and how to opt out. The first time you visit Mantle Place, a small consent bar appears at the bottom of the page. Until you click Accept, analytics set no cookie and write nothing to your device; your visit is counted anonymously (§7). Accept turns on analytics that keep a random id in localStorage, and Decline (or closing the bar) is honored across sessions.

4. Retention

We retain personal data only as long as needed for the purpose it was collected. Specific retention periods per data category:
  • Order records (orders + etl_jobs rows): retained for the lifetime of your account so the vault stays permanent; the durable re-access promise depends on it. Deleted on account deletion or at your written request (after tax-recordkeeping obligations have lapsed).
  • Payment metadata (Stripe PaymentIntent / Charge / Customer IDs, last-4): retained alongside the order record for chargeback and dispute defense, per Stripe’s and applicable financial regulations’ requirements (typically up to ~6 years for tax / chargeback windows).
  • Billing address from Stripe Elements (for tax): captured at checkout, retained only as long as needed to satisfy tax-recordkeeping obligations.
  • Email address + auth tokens: retained for the lifetime of your account; tokens rotate on each login.
  • Server logs (Cloudflare Worker logs, including IP and user-agent): kept by Cloudflare for 7 days and copied to our PostHog Logs project, which expires them within ~30 days, unless an active investigation requires longer retention.
  • Resend transactional email logs: retained per Resend’s standard retention policy (delivery + bounce metadata, typically ≤90 days).
  • PostHog product analytics events: retained per PostHog Cloud’s standard retention policy for the US region (typically ≤12 months on free tier).

5. Your rights

Email contact@mantle.place to exercise any of the rights below. We respond within 30 days; deletion of your account is destructive (it voids your vault), and we’ll confirm before acting.

If GDPR applies to you (you are in the EEA, UK, or Switzerland), you have the right to:

  • Access: request a copy of your personal data (Art. 15).
  • Rectification: correct inaccurate or incomplete data (Art. 16).
  • Erasure: request deletion (Art. 17), subject to retention obligations in §4.
  • Restriction: restrict processing in specific cases (Art. 18).
  • Portability: receive your data in a machine-readable format and transmit it elsewhere (Art. 20).
  • Objection: object to processing based on legitimate interests (Art. 21).
  • Withdraw consent: for processing that relies on consent (analytics via the §7 control).
  • Lodge a complaint with your local supervisory authority (Art. 77). We hope you’ll email us first so we can resolve it, but the right is yours either way.

If you are a California resident, the CCPA / CPRA grants you the right to know, delete, correct, and limit the use of sensitive personal information, plus the right to opt out of any "sale" or "sharing" of personal information for cross-context behavioral advertising. See §8 California Privacy Rights below for our specific disclosures and the opt-out mechanism.

6. Security

Curator credentials and payment access controls are treated as critical trust primitives. We use least-privilege service-role keys server-side, presigned URLs with short TTLs for bundle downloads (re-minted on every visit so the link never stales), and ID-token-based auth for the Supabase backplane. No system is perfectly secure; please report any suspected vulnerability to contact@mantle.place.

7. Analytics & telemetry

Mantle Place uses PostHog (data hosted in the US region under the EU-US Data Privacy Framework) to capture pseudonymous product-usage events: cold-page visits, AOI draw and placement actions, checkout starts, payment success, bundle delivery, bundle download, and vault re-access. We do not capture personally identifiable information (PII) through this telemetry. Your email and account details are stored in Supabase under a separate access policy.

What is sent depends on your choice on the consent bar, which you can change with the control below at any time:

  • Accepted. Events are tied to a randomly-generated distinct_id stored in your browser’s localStorage, never to your email address. If you create an account, that anonymous id is merged into your account’s id so we can count returning visitors without re-identifying who you are. Accepting also turns on four things beyond event counts: reports of errors your browser hits (with the page and a technical stack trace, no page content); where you click, change or submit on a page, and how far you scroll, gathered into heatmaps; page-speed measurements; and, on a small share of visits, a recording of the page in which everything you type is hidden. Pages under /admin and the checkout screen are never recorded. We may also show you a short survey, for example after a download or when you leave checkout unpaid; your answer is tied to the same id.
  • Declined, or no choice yet. Your visits are still counted, but anonymously: nothing is written to your browser, no cookie is set and no id is kept on your device. PostHog tells visits apart for the day with a hash of your IP address and browser details, made with a salt that changes every day, so the hash cannot be followed from one day to the next. Your request reaches PostHog through our own domain, so no third-party site is contacted from your browser. Recordings, heatmaps, click capture and surveys do not run without your Accept.
  • Do Not Track or Global Privacy Control. If your browser sends either signal we treat it as Decline: clicking Accept cannot override it, and the control below says so.

Our servers also record the business events of an order, such as checkout started, payment succeeded and bundle delivered. If you accepted analytics when you started checkout, the checkout and payment events join the same anonymous id (or account id) as your browser events. Every other server event, including bundle delivered, is recorded with no person attached and no IP address, so it counts an order and not who placed it. They still name the order, which is a record we hold anyway to fulfill it (§4).

Declining after you accepted removes the stored id from your browser, and opting back in works at any time. The choice is kept in your browser’s localStorage; clearing it returns you to no choice yet.

Analytics status

7.1 Automated decision-making

Mantle Place does not make decisions about you based solely on automated processing in a way that produces legal or similarly significant effects (GDPR Art. 22). Pricing is rule-based: a $5 floor plus $2 per km², rounded up to the whole dollar, with the coefficients read from the live pricing_config row and applied to the area of interest you draw. Rate limits and fraud signals applied by Cloudflare and Stripe are not used to make eligibility decisions about curators. No machine-learning model affects whether you can place an order, what you pay, or what you receive. If this changes, we will disclose it here before the change ships.

7.2 Site Briefs

A Site Brief is the free step in the curator, after you draw and before you order, that describes a rectangle of ground from open data. It has no page of its own: a link to a brief opens the curator on that rectangle, with its coordinates in the link.

  • What a brief stores. One document of facts about the rectangle (elevation, slope, aspect, land cover, permanent water) and the versions of the open datasets they were computed from, kept so the next request for the same rectangle does not compute them again.
  • Nothing about you. A brief records no account, no email, no IP address, no browser details and no map view. Two people who ask for the same rectangle get the same document.
  • Links. The curator’s Share button copies a link that holds the rectangle’s coordinates and nothing else. There is no private brief and no public one; anyone who has the link opens the curator on that rectangle.
  • Nothing to delete. Because a brief holds nothing personal, there is nothing about you in it to delete or to request.
  • How one is made. Only by reaching the Brief step in the curator for a rectangle, or by opening a link someone shares. Asking for a rectangle that has been asked for before shows the stored document and does not say whether anyone did.
  • Limits. To stop a flood of new briefs, the number a connection can make in an hour and in a day is counted under a keyed hash of its IP address that changes every day, never the address itself, and expires within two days. Asking for a brief that already exists is never counted.

8. California privacy rights

If you are a California resident, the California Consumer Privacy Act (CCPA), as amended by the California Privacy Rights Act (CPRA), grants you the rights enumerated in §5 plus two additional opt-out rights:

  • Right to Opt Out of Sale or Sharing. Mantle Place does not sell personal information for money. Mantle Place does not share personal information for cross-context behavioral advertising. Our PostHog analytics are first-party product analytics only and do not feed third-party advertising networks. Use the control in §7 above to decline analytics if you prefer, or let your browser send Global Privacy Control, which we honor; it’s the same opt-out surface for "sharing" under the CCPA definition.
  • Right to Limit Use of Sensitive Personal Information. Mantle Place does not collect sensitive personal information as defined by CCPA §1798.140(ae) (precise geolocation, racial/ethnic origin, religion, union membership, mail/email contents, genetic data, biometrics, health, sex life). Your drawn AOI is geospatial but is not your geolocation. If we ever collect a category that meets the CCPA sensitive-PI definition, this section will be updated and a limit-use opt-out surfaced here.

We do not knowingly collect personal information from California residents under 16; if you believe we have, email contact@mantle.place and we will delete it. You may also authorize an agent to make a request on your behalf; we will verify their authority before responding.

9. Changes & contact

We may update this Privacy Policy; the "last updated" date above moves when we do. Material changes will be surfaced in-product. Questions and escalation: contact@mantle.place.