This policy covers MergeHop, an add-on for Google Sheets™ (the "add-on"), and the website at mergehop.com. MergeHop is operated by MergeHop ("we", "us").
Contact: mergehopapp@gmail.com (a dedicated support address, support@mergehop.com, will replace this later)
The short version
- MergeHop runs inside your Google account, on Google's Apps Script platform.
- Your spreadsheet rows, your template, and the documents MergeHop makes stay in your Google account. They are not sent to any MergeHop server. MergeHop does not have its own server that receives them.
- MergeHop can only open files you pick in the Google file picker, files MergeHop itself creates, and the spreadsheet you have open.
- We do not sell your data, use it for ads, or share it with anyone except as described below.
1. What MergeHop does
You pick a Google Docs™ template that contains placeholders like {{Client Name}} and an output folder. For each row of the sheet (including rows added by a Google Forms™ response), MergeHop copies the template, fills in the row's values, saves a Google Doc and/or a PDF into your folder, and writes a status and the file links back to the row. If you turn on automatic mode, it does the same for each new form response and retries failed rows about once an hour.
2. Google permissions (OAuth scopes) MergeHop asks for, and why
| Permission (scope) | What MergeHop does with it |
|---|---|
https://www.googleapis.com/auth/drive.file |
See, create, and edit only the specific Drive files you choose with the Google file picker (your template and output folder) and files MergeHop creates (the filled Docs, PDFs, and the optional "MergeHop Output" folder). It cannot see or open any other file in your Drive. MergeHop moves a file to the Drive trash only if MergeHop created it: the working Doc used to make a PDF when you choose PDF only output, and partly made files from a row that failed or was interrupted. It never permanently deletes files. |
https://www.googleapis.com/auth/spreadsheets.currentonly |
Read the rows and headers of the spreadsheet where you use MergeHop, and add three columns to it (MergeHop Status, MergeHop Doc, MergeHop PDF) plus a small note on each status cell (number of attempts, time of the last attempt, and the IDs of any partly made files). It cannot open your other spreadsheets. |
https://www.googleapis.com/auth/script.external_request |
Call Google's own Drive API export address (https://www.googleapis.com/drive/v3/files/) to turn a filled Doc into a PDF. The add-on's allowlist also contains https://api.mergehop.com/ for the future plan check described in section 5, which is switched off in the current version, so no request is made to it. |
https://www.googleapis.com/auth/script.scriptapp |
Create and remove the two automatic jobs (a "when a form response arrives" trigger and an hourly retry trigger) only when you switch on automatic mode, and remove them when you switch it off. |
https://www.googleapis.com/auth/script.container.ui |
Show the MergeHop sidebar and the Google file picker inside Google Sheets. |
MergeHop does not ask for access to your Gmail, contacts, calendar, your whole Drive, or your Google profile or email address.
3. Google user data MergeHop accesses and how it is used
- Spreadsheet contents. Header names and cell values of the sheet you run MergeHop on. Used only to fill your template and to write the status and links back. Read in memory during a run, not stored by MergeHop elsewhere.
- Template contents. The text of the template you picked, used to find placeholders and to fill the copy. The list of placeholder names found in a template is cached for up to 6 hours in Google's Apps Script cache (in your account) so runs are faster.
- File details. Name, type, trash state, and permission flags of the template and folder you pick, used to check they are usable and to show helpful errors (for example "this folder is in the trash").
- Documents MergeHop creates. Saved in the folder you choose, in your Drive. You own them.
All of this processing happens inside Google's Apps Script service, under your Google account.
4. What MergeHop stores, and where
MergeHop stores small settings using Google's Apps Script Properties and Cache services. These are kept by Google, inside the add-on's storage for your account or for the spreadsheet. We do not copy them to any MergeHop server.
User properties (tied to your Google account, shared across your spreadsheets):
mh_usage: the current month and how many documents you made this month (for the free plan limit of 30 a month).mh_auto: the IDs of spreadsheets where you turned on automatic mode.mh_cfg_<spreadsheet ID>: while automatic mode is on, a copy of that spreadsheet's settings (template ID and name, folder ID and name, file name pattern, output type, sheet ID, spreadsheet ID) so the automatic jobs can run. Removed when you turn automatic mode off.mh_license_key: a license key, only if a future version asks you to enter one. Not used today.
Document properties (stored with the spreadsheet, visible to the add-on for anyone who uses MergeHop on that spreadsheet):
- Template ID and name, output folder ID and name, whether the folder was created by MergeHop and its ID, the file name pattern, the output type (Doc, PDF, or both), the sheet ID and spreadsheet ID, the IDs of the automatic triggers, the last file picker error message, and internal counters that help the sidebar refresh (
pickVersion,mh_stamp).
Cache (temporary, cleared automatically by Google): placeholder lists (up to 6 hours), live progress of a run shown in the sidebar (up to 10 minutes), and, only when the plan check is switched on in a future version, the result of the plan check (up to 6 hours, or 10 minutes after a failed check).
In your spreadsheet and Drive: the three MergeHop columns, the status cell notes, and the Docs and PDFs described above.
5. Plan check (future, currently switched off)
The current version of MergeHop puts everyone on the free plan and makes no request to any MergeHop server. When paid plans launch, MergeHop may check your plan by sending a request to https://api.mergehop.com/license containing only:
- a temporary user key that Google's Apps Script provides (
Session.getTemporaryActiveUserKey). It is a random identifier, not your email address, and Google changes it over time; - the license key you entered, if any;
- the product name and add-on version number.
The server replies with your plan and monthly limit. No spreadsheet data, template text, document contents, file names, or file IDs are sent. Before we switch this on, we will update this policy and tell users in the add-on, and if we need any new Google permission, Google will ask for your consent again.
6. Payments (future)
Paid plans are not on sale yet. When they are, payments will be handled by a third party payment processor, which we will name here before any paid plan goes on sale. The payment provider collects your card details; we do not see or store full card numbers. We would receive your name, email address, billing country, plan, and payment status to manage your subscription. This section will be completed before any paid plan goes on sale.
7. Error logs
When something fails, the add-on writes a short technical log entry to the Google Cloud project that runs MergeHop, where we can read it to fix bugs. An entry can include the row number, which step failed, the technical error text returned by Google, and Drive file IDs. Google's Apps Script also records basic run details (which function ran, when, how long, and whether it failed). We use these only to find and fix problems. They are kept for up to 30 days, the default retention period of Google Cloud Logging. We do not add your cell values or document text to log entries on purpose; in rare cases an error text returned by Google could contain a short piece of it.
8. Sharing
We do not sell, rent, or trade Google user data. We do not use it for advertising, and we do not use it to train AI models. We do not transfer it to anyone, except:
- to Google, which runs the add-on and stores your files;
- when needed for security (for example investigating abuse);
- to comply with the law; or
- as part of a merger, acquisition, or sale of assets, and only after asking for your explicit consent first.
No person at MergeHop reads your spreadsheet data, templates, or documents, unless you ask us to and give us access (for example to help with a support request), it is needed for security, or the law requires it.
9. Google API Services User Data Policy (Limited Use)
MergeHop's use and transfer to any other app of information received from Google APIs will adhere to the Google API Services User Data Policy, including the Limited Use requirements.
10. Your choices and removing your data
- Stop automatic jobs: switch off "Automatic for form responses" in the sidebar. This removes both triggers.
- Remove the add-on: in Google Sheets, open Extensions, then Add-ons, then Manage add-ons, and remove MergeHop.
- Revoke access: visit https://myaccount.google.com/permissions and remove MergeHop.
- Your files: the Docs, PDFs, MergeHop columns, and notes are ordinary files and cells in your account. Delete them like any other file or column.
- Stored settings: document properties stay with the spreadsheet, and user properties stay in the add-on's storage for your account at Google. We cannot read or delete them from our side because they live in your account. To clear them for a spreadsheet, click Reset settings in the MergeHop sidebar. It turns automatic mode off for that spreadsheet and clears its saved choices (template, folder, file name pattern, output type). It keeps your monthly document count, and it does not change your rows, status columns, or any file in Drive.
11. Security
All traffic between MergeHop, Google, and (in future) api.mergehop.com uses HTTPS. MergeHop uses the narrowest Google permissions that let it work: it cannot see files you did not pick.
12. Children
MergeHop is a work tool for adults, such as office staff and teachers. It is not directed at children under 13.
13. This website
mergehop.com is a static website hosted on Cloudflare Pages. It uses no cookies, no analytics, and no advertising trackers. The hosting provider may process visitors' IP addresses and request details to deliver the site and protect it from attacks.
Pro waitlist. If you join the Pro waitlist on mergehop.com/pro, or email us to join it, we keep your email address only to tell you when paid plans launch and about the Founding member offer. We do not sell it or share it, except with Cloudflare, which hosts this site and stores the waitlist (Cloudflare Workers KV). With your email we store the time you joined, which page you joined from, and the country Cloudflare detects from your connection. To be removed, email mergehopapp@gmail.com.
14. Changes
If we change how MergeHop uses Google user data, we will update this page, change the effective date, and ask for your consent in the add-on before the new use starts.
15. Contact
Questions or requests: mergehopapp@gmail.com (a dedicated support address, support@mergehop.com, will replace this later)
Google Sheets, Google Docs, Google Forms, and Google Drive are trademarks of Google LLC. MergeHop is not made or endorsed by Google.