Legal

Service Providers and Subprocessors

Who is involved in running StreetShape, what reaches each of them, and — just as important — what we have not yet confirmed about any of it.

Last updated

1. What this list means

Three different relationships appear below, and the difference decides whose notice governs and who answers a request about you.

  • A processor acts on a controller’s documented instructions, under terms that say so.
  • A subprocessor is a processor engaged by a processor — which is what we are, for an institution’s data.
  • An independent controller decides its own purposes. Its privacy notice governs its processing, not ours.

One company can be more than one of these at once, for different activities. Nothing is described as a subprocessor merely because it receives a request.

2. The register

The companies involved in running StreetShape, what reaches each one and on what footing
ProviderWhat they doWhat reaches themWhere, and what is unconfirmed
ClerkAccounts, sign-in and session security
Acts on our instructions
Email address, name and avatar if you have one, your password or the social account you signed in with, sessions and two-factor settingsUnited States (Google Cloud and Cloudflare)
Still to confirm: Which Clerk entity is on the contract, that a data processing agreement is signed, the regions the instance actually runs in, and the transfer mechanism relied on. This row used to assert the EU–US Data Privacy Framework with standard contractual clauses behind it; a framework certification has to be current and has to cover the transfer, which is a thing to look up rather than a thing to state
SupabaseThe database, and storage for plan thumbnails
Acts on our instructions
Everything the service stores: your account record, your plans and their versions, preferences, subscription and usage recordsEuropean Union — Frankfurt, Germany (aws eu-central-1)
Still to confirm: The region the production project is actually provisioned in, where support access comes from, where backups are held, and the signed agreement. An EU project region does not by itself establish that every access stays in the EEA
PaddlePayment, as merchant of record
Decides its own purposes — its notice governs, not ours
Name, billing address, country, tax status, payment method and invoices. We never receive card detailsUnited Kingdom (Paddle.com Market Limited), which the EU recognizes as adequate, with onward processing in the EEA, the United States, Canada and Ireland
Still to confirm: Which Paddle entity sells to the customer, since that entity is the seller named at checkout, on the invoice and in the withdrawal notice on the refund page
MapTilerBasemap tiles and satellite imagery
Footing not established — see the note in the last column
Tile requests made by your browser: the coordinates and zoom you are looking at, your IP address and user agentSwitzerland (MapTiler AG, Zug), which the EU recognizes as adequate. Their policy says some of their own suppliers sit outside the EU and Switzerland without naming the safeguard, which is stated here rather than smoothed over
Still to confirm: Whether MapTiler acts on our instructions for tile delivery or decides its own purposes. Your browser requests tiles directly, so the request is between you and them, and treating that as processing on our documented instructions is an assumption rather than a reading of a contract
MapboxThe editor's map, for accounts on a plan that includes it
Footing not established — see the note in the last column
Only while you have the editor open on such a plan: the map requests your browser makes — the coordinates and zoom you are looking at, your IP address and user agent — and the usage events Mapbox's map library sends to count a map loadUnited States (Mapbox, Inc.)
Still to confirm: The contracting entity, whether Mapbox acts on our instructions for map delivery or decides its own purposes (the browser requests tiles directly, as it does from MapTiler), the transfer mechanism relied on for the United States, and what the usage events carry. None of it has been read against a signed agreement yet
Komoot (Photon)Address search
Footing not established — see the note in the last column
The text you type into the location search. The request is made by our server, so your IP address is not sent[where the Photon instance we call actually runs, and who operates it]
Still to confirm: Who operates the instance, on what terms a public endpoint may be used at our volume, and what the operator does with the queries. A per-process rate limit in our own code is not the same as staying inside a provider's limits
OpenStreetMap Foundation (Nominatim)Address search, when Photon is unavailable
Footing not established — see the note in the last column
The same search text, on the same terms[where the Nominatim instance we fall back to is hosted — the Foundation's establishment and its servers are separate questions]
Still to confirm: The public instance's usage policy and whether a fallback at our volume is within it. This is the row most likely to be answered by moving to an instance we run
ResendTransactional email — collaboration invites and service notices
Acts on our instructions
The recipient's email address and the contents of the messageUnited States
Still to confirm: The contracted entity, the signed agreement and the transfer mechanism. An EU sending region does not move the metadata, as the note above sets out
PostHogProduct analytics — which steps people reach, and where they stop
Acts on our instructions
A short list of named events (a page view, opening the editor, drawing a road, saving a plan, a purchase) with your account id attached if you are signed in. Only if you accepted the cookie banner, and only from our servers — your browser never contacts PostHog, so it never receives your IP address or your user agentEU, by configuration
Still to confirm: Whether the integration is enabled in production, the project's configured region and event retention, who can read the project, and the signed agreement. Also whether a deletion here propagates to PostHog, which the account-erasure routine does not currently establish
VercelRunning the site
Acts on our instructions
Ordinary web-server logs: IP address, user agent, requested URLEuropean Union — Frankfurt (fra1) for the application itself. Vercel Inc. is in the United States and may access logs from there
Still to confirm: The transfer mechanism for that access, how long the platform's own request logs are kept, and the delivery infrastructure in front of the application, which is wider than the region the functions run in

This table is generated from lib/legal/processing.ts, which is the same source the privacy policy and the data-rights page render. Three pages, one list, no chance of them disagreeing.

3. What is not settled

Read the last column before relying on this page

Every “still to confirm” note is a real gap. The contracted entity, the signed data processing agreement, the region a project is actually provisioned in, whether a Data Privacy Framework certification is current and covers the transfer — none of that can be read out of a repository, and this page was written from one.

The previous version stated several of those as settled facts. They have been turned back into questions rather than left standing, because a procurement officer reading this page is entitled to assume that what it asserts was checked.

4. Paddle is different

Paddle is not our processor. It is the merchant of record: it sells to you, and for the payment it decides its own purposes.

That is why its own privacy notice governs what it does with your billing information, why the entity named at checkout and on your invoice is the seller, and why the statutory withdrawal notice in the refund policy is addressed to it rather than to us. We never receive or store card details.

6. What is not on this list

  • No advertising or marketing-automation platform.
  • No third-party analytics script running in your browser.
  • No customer-data platform, and no data broker.
  • No model-training provider receiving your plans.

Municipalities, collaborators you invite and the public are not infrastructure providers, and they are not on this list. Who can see what you publish or submit is in the privacy policy.

A provider introduced by turning on an integration has to be added here before the processing starts. A development-only map fallback must not quietly become an undisclosed production recipient.

7. Contracts and changes

Where a processor relationship applies, we use written data processing terms restricting processing to documented instructions, and covering confidentiality, security, assistance, deletion and further subprocessors. Where we process an institution’s data, the signed agreement with that institution names the authorized subprocessors and the safeguards.

If you have a data processing agreement with us, we give you at least 30 days notice before a new or replacement subprocessor starts, unless that agreement expressly sets out a different procedure. You may object on reasonable data-protection grounds, and we will consider the objection and look for a resolution under the agreement before the processing goes ahead.

A change to an independent controller is assessed on what it actually does and what transparency or consent that requires. This public page is not itself a complete institutional agreement — write to hello@streetshape.org for the contractual documents and to be put on the change list.