Privacy Policy
Last updated August 18, 2026
This Privacy Policy explains how Sheets Geocoder collects, uses, stores, and shares information when you visit our website or use our Google Sheets add-on. Sheets Geocoder is not directed to children under 13.
Information we collect
We process the following categories of information:
- Google account information: your Google account identifier and email address, used to sign you in and associate your allowance and subscription with the correct account.
- Usage and account records: your plan, subscription status, lifetime geocode allowance, successful or failed request counts, and related operational records.
- Selected spreadsheet data: only the addresses or latitude and longitude cells you direct the add-on to process, plus the resulting geocoding fields written to your sheet.
- Billing information: Stripe customer and subscription identifiers, plan, billing status, and transaction records. Stripe collects and processes your payment-card details on its hosted pages; Sheets Geocoder does not store complete card numbers.
- Technical information: essential hosting, authentication, billing, analytics, and security records, which may include a pseudonymous visitor or account identifier, pages visited, selected website actions, IP address, browser type, request time, and diagnostic information. On the public marketing website, PostHog session replay may record page navigation, scrolling, and clicks to help us identify usability problems. Form inputs are masked and authenticated account pages are excluded from recording. We do not use broad automatic click capture for analytics events.
How we use information
We use this information to authenticate users, provide forward and reverse geocoding, write requested results to the current spreadsheet, enforce the one-time free allowance, administer subscriptions, prevent abuse, understand and improve website use, troubleshoot errors, support users, and comply with legal obligations. We do not sell personal information or Google user data, and we do not use it for advertising, credit decisions, or lending.
No artificial-intelligence or machine-learning use
Sheets Geocoder does not integrate with, call, or transfer Google Workspace user data to any artificial-intelligence or machine-learning model, model provider, aggregator, gateway, model hub, downstream model, or self-hosted or offline model. The service uses purpose-specific forward and reverse geocoding services only. Neither raw, aggregated, anonymized, nor derived Google Workspace user data is used, transferred, or sold to create, train, fine-tune, evaluate, or improve foundational or generalized artificial-intelligence or machine-learning models.
The use of raw or derived user data received from Google Workspace APIs adheres to the Google Workspace API User Data and Developer Policy, including its Limited Use requirements.
Google user data and spreadsheet access
Sheets Geocoder requests access to the current Google Sheet and your Google account email. It does not request access to every spreadsheet in your account. Only cells you select for a geocoding job are processed. Free-tier addresses or coordinate pairs are sent through Google Apps Script to Google's geocoding service. Paid-tier selections are sent by Apps Script to an authenticated Supabase Edge Function and then to Radar's geocoding service. Results are written back to your sheet. For paid jobs, selected inputs and results are stored temporarily in Supabase for less than 24 hours so background processing can continue safely. Trigger.dev coordinates the job using only a job identifier and short-lived capability token; it does not receive the selected addresses or coordinates in the task payload. Cryptographic request fingerprints and short-lived result caches make retries idempotent and avoid duplicate provider calls.
Google OAuth permissions
Sheets Geocoder requests the following Google OAuth scopes. We use each permission only for the corresponding user-facing purpose described below:
openid: verifies the identity of the signed-in Google user before connecting the add-on to the correct Sheets Geocoder account.https://www.googleapis.com/auth/userinfo.email: provides the signed-in email address used to display and match the account, enforce its one-time free allowance, and associate its subscription.https://www.googleapis.com/auth/spreadsheets.currentonly: reads the cells the user selects in the currently open spreadsheet and writes the requested geocoding results to a user-selected output range in that spreadsheet. It does not provide access to every spreadsheet or permit the add-on to search Google Drive.https://www.googleapis.com/auth/script.container.ui: displays the Sheets Geocoder sidebar and dialogs inside the current Google Sheet.https://www.googleapis.com/auth/script.external_request: connects the add-on to Supabase for authentication, account and usage state, subscriptions, and background jobs, and sends only the address or coordinate cells selected for paid geocoding to the secure backend.
Sheets Geocoder's use and transfer of information received from Google APIs adheres to the Google API Services User Data Policy, including its Limited Use requirements. Human access to Google user data is limited to cases where you give permission, it is necessary for security or troubleshooting, or it is required by law.
Who we share, transfer, or disclose Google user data to
We disclose Google user data only to the following recipients and only for the stated purposes needed to operate Sheets Geocoder:
- Google: Google processes your account identity, the current spreadsheet, Apps Script execution, and free-tier geocoding inputs and results. Google receives the selected address or coordinate cells used for a free lookup and the resulting geocoding data written to your sheet.
- Supabase: Supabase processes and stores your Google account identifier and email, authentication and account records, plan and usage totals, and subscription status. For paid jobs it also stores the selected address or coordinate inputs, provider results, job records, and retry fingerprints for the retention periods described below.
- Radar: Radar receives only the selected addresses or coordinate pairs needed to perform paid geocoding and returns the requested location results. We do not send Radar your Google account identifier, email address, spreadsheet ID, or unrelated spreadsheet content.
- Trigger.dev: Trigger.dev receives a pseudonymous job identifier and a short-lived capability token to coordinate paid background work. It does not receive your Google email, spreadsheet identifier, selected addresses or coordinates, or geocoding results in its task payload.
- Stripe: Stripe receives your billing email, an internal account identifier, selected plan, subscription metadata, and payment information needed for checkout, invoicing, and billing management. Stripe does not receive spreadsheet cells, addresses, coordinates, or geocoding results from us.
- Vercel: Vercel hosts the website and may process account-page requests, essential session cookies, IP addresses, and ordinary hosting and security logs. The website does not send Vercel selected spreadsheet cells or geocoding job content.
- PostHog: PostHog provides website analytics and error monitoring. It may receive a pseudonymous visitor or internal account identifier, page paths without query strings, selected website events such as starting sign-in or checkout, browser and device information, IP-derived network information, and error diagnostics. We do not send PostHog your Google email or profile name, selected spreadsheet cells, addresses, coordinates, geocoding results, payment-card information, or OAuth and billing query parameters. Session replay is limited to the public marketing website; form inputs are masked and authenticated account pages are blocked from recordings. Broad automatic click capture is disabled.
These providers act only as infrastructure, payment, or data-processing providers for the purposes described above and operate under their applicable terms and privacy commitments. We do not sell Google user data, transfer it to advertising platforms or data brokers, use it for personalized advertising, or use data obtained through Google Workspace APIs to develop, improve, or train generalized or non-personalized artificial-intelligence or machine-learning models.
We may disclose information when required by law, valid legal process, or a good-faith need to protect users, Codeprint, or the public from fraud, abuse, or security threats. If Sheets Geocoder is involved in a merger, acquisition, financing, reorganization, or sale of assets, Google user data may be transferred to the successor only where legally permitted, subject to this policy and any required notice or consent. We do not otherwise share or transfer Google user data to unrelated third parties.
Cookies and local storage
We use essential authentication cookies to keep you signed in and to protect account sessions. PostHog uses browser local storage, rather than an analytics cookie, to maintain a pseudonymous analytics identifier. We do not use advertising cookies. Your browser can block cookies or clear local storage, but sign-in and account features may not work correctly without essential cookies.
Retention
Account, usage, subscription, and security records are retained while your account is active and for as long as reasonably necessary to operate the service, prevent fraud, resolve disputes, maintain financial records, and meet legal obligations. Temporary paid inputs, outputs, and job records are automatically eligible for deletion after 24 hours; request fingerprints and aggregate usage records may be retained for security, abuse prevention, and billing integrity. Deletion requests may not cover records we must retain for legal, accounting, security, or fraud-prevention reasons.
Security and international processing
We use reasonable administrative and technical safeguards designed to protect information. No online service can guarantee absolute security. Our providers may process information in countries other than your own, subject to their contractual and legal safeguards.
Your choices and requests
Depending on where you live, you may have rights to request access, correction, deletion, restriction, portability, or an objection to certain processing. You can disconnect Sheets Geocoder from your Google account through your Google account permissions. To make a privacy or account-deletion request, email us from the address associated with your account. We may need to verify your identity before completing a request.
Changes to this policy
We may update this policy as the service or legal requirements change. We will post the revised policy here with a new last-updated date and provide additional notice when required.
Contact
Questions or privacy requests can be sent to jacob@codeprint.io.