Merge & Update
Legal

Privacy Policy

Last updated: September 23, 2026. Applies to Merge & Update for Google Sheets™ and this website.

Who operates the service

Codeprint operates Merge & Update. Contact jacob@codeprint.io about privacy, support, or account deletion.

How we use Google user data

We use Google user data to provide the Merge & Update features you choose: signing in, finding spreadsheets, previewing and running merges, saving workflows, and running schedules. We access the following data through the Google permissions you grant:

We limit our use of Google user data to providing and supporting these user-facing features. We do not sell Google user data, use it for advertising or credit decisions, or use it to develop, improve, or train generalized or non-personalized AI or machine-learning models.

Spreadsheet data and Google access

The add-on processes the selected spreadsheet values, formulas, headers, ranges, and column mappings within Google Apps Script and Google Sheets. It reads lookup tables and writes the results you authorize to the main table or a new spreadsheet. A manual merge requires confirmation. A schedule uses your prior authorization to run the saved configuration without asking on each run.

We do not send spreadsheet contents to Codeprint servers, Supabase, Stripe, or an AI service as part of a merge. Google hosts and processes those contents. If you choose to share a file or sample with support, that separate disclosure is under your control. Please redact confidential information.

Google permissions we request and why

The list below matches the add-on’s current Apps Script manifest. Google’s consent screen may use broader wording than the actions the add-on performs. The spreadsheets scope applies at file level, not just to a chosen tab. Selecting a range in the app limits the merge operation; it does not narrow the OAuth permission.

openid
Identify your Google account for sign-in. The add-on exchanges a Google identity token with our authentication service to establish your account session.
https://www.googleapis.com/auth/userinfo.email
Read your Google account email so we can show the signed-in account and associate your trial and paid access with the correct user.
https://www.googleapis.com/auth/spreadsheets
Read selected tables, preview merges, update mapped cells, insert rows or columns, create backup tabs or output spreadsheets, and maintain your execution-log spreadsheet. This is a broad read/write spreadsheet permission because the product works across multiple spreadsheet files, not only the currently open file. The app does not use it to delete your spreadsheet files.
https://www.googleapis.com/auth/drive.metadata.readonly
Search and list spreadsheet file metadata, such as file names and identifiers, so you can select files you can access. This permission does not read non-spreadsheet file contents or modify Drive files.
https://www.googleapis.com/auth/script.container.ui
Display the add-on’s sidebar and controls inside Google Sheets.
https://www.googleapis.com/auth/script.external_request
Call Google’s Sheets and Drive APIs and our account/billing service over HTTPS. Requests to our service contain authentication and account/billing information, not spreadsheet cell contents.
https://www.googleapis.com/auth/script.scriptapp
Create and manage this add-on’s time-driven triggers for the schedules you authorize. Scheduled runs execute under your Google account.

We do not request Gmail, contacts, calendar, or general Drive file-content permissions. We use Google API data to provide the features you request, not to sell it, target advertisements, or train general-purpose AI models.

Merge & Update’s use and transfer of information received from Google APIs adheres to the Google API Services User Data Policy, including its Limited Use requirements. See Google’s Sheets scope documentation for the scope of spreadsheet authorization.

Account information and storage

Website account sign-in requests Google identity, email, and basic profile information (openid, email, and profile), not spreadsheet permissions. It uses the shared Codeprint sign-in service to find the same account used by the add-on. We keep the website session in this browser tab’s session storage; signing out clears this website session without signing you out of other add-ons. The account page displays your Merge & Update access and linked subscription status. To cancel, it opens a short-lived Stripe link after checking account ownership. You confirm cancellation on Stripe.

Our shared Codeprint account service uses Supabase to store your account identifier, email, product installation, trial dates, access status, and billing references. We use these records to authenticate you, prevent trial resets, determine access, and support your account across the add-ons you use. A purchase for this product does not grant paid access to a different add-on.

Google Apps Script User Properties store your workflow settings, spreadsheet identifiers, column mappings and saved headers, schedules, recent run summaries, and authentication session tokens. Your Google account also holds any output, backup, and execution-log spreadsheets the add-on creates. We do not mirror workflow configurations or merge tables to Supabase.

Payments and service providers

Sharing Google user data: Google processes spreadsheet contents and saved workflow data within Google Sheets and Apps Script. We send Google identity information to Supabase, our authentication and account-storage provider, to sign you in and maintain your account. If you start checkout, we share your account email and billing identifiers with Stripe to associate the purchase with your account. We do not send spreadsheet cells, formulas, or merge tables to Supabase, Stripe, or Vercel. We do not share Google user data with third parties for advertising or unrelated purposes.

Stripe Managed Payments handles checkout and payment processing. Stripe receives the account/billing information needed for the purchase. We receive subscription identifiers, status, billing period, and related entitlement information; we do not store full payment-card numbers. We retain a checkout reference to prevent duplicate checkout requests.

Google provides the add-on runtime and spreadsheet services; Supabase provides account storage and authentication; Vercel hosts this website; Stripe provides payments. These providers may process technical information, such as IP addresses, timestamps, request details, and security logs, when you use their services. Their policies apply to their processing: Google, Supabase, Vercel, and Stripe.

Website, support, and disclosure

This website does not include advertising trackers or a third-party analytics script. Hosting and security providers may still keep technical request logs. If you email support, we receive your address and the information you choose to include. We may disclose information when legally required or necessary to protect users and the service. We do not sell personal information.

Retention and your controls

We keep account and entitlement records while needed to provide access, prevent abuse, resolve support issues, and meet billing or legal obligations. Provider backups and security logs may persist according to provider retention practices. We do not promise immediate removal from every backup.

You can delete saved workflows and schedules in the add-on. Deleting a workflow does not delete a schedule’s independent saved copy: delete the schedule separately. You manage output, backup, and log spreadsheets in Google Drive. Deleting an app configuration does not delete those files.

To stop scheduled work, remove your schedules and revoke the app’s access in Google Account connections. Revoking Google access does not cancel a paid subscription or delete account/billing records. Use the billing controls or contact support for cancellation.

Email us to request access, correction, export, or deletion of account information. Tell us whether the request concerns Merge & Update only or your shared account across multiple add-ons. We may verify your identity and retain information required by law. Depending on your location, you may have additional privacy rights and a right to complain to your local data-protection authority.

Security, international processing, and changes

We use encrypted transport and access controls, but no system can guarantee complete security. Our providers may process information outside your country under their applicable safeguards. We will update this policy when our practices change and provide further notice where required.