Gridferry Privacy Policy
Last updated: 15 October 2026
Gridferry ("the add-on", "we", "us") is a Google Sheets add-on that copies records from a table in your Airtable base into the spreadsheet you have open. It is provided by Nicholas Syrianoudis ("we"). Contact: support@plankfoundry.com. Postal address available on request at support@plankfoundry.com.
Gridferry is compatible with Airtable. It is not affiliated with, endorsed by, or sponsored by Airtable or Google.
1. Summary
- Gridferry works only on the spreadsheet you open it in.
- It reads (never changes) the Airtable bases you choose when you sign in, and writes those records into your spreadsheet.
- We do not run a server or database that receives your table data. The add-on runs inside Google Apps Script, and your records travel from Airtable's API to your spreadsheet through Google's infrastructure.
- We do not sell your data, use it for advertising, or share it with data brokers.
2. Google user data we access, and why
When you install Gridferry, Google asks you to grant these permissions (OAuth scopes). We request only these:
| Permission (scope) | What it lets the add-on do | Why we need it |
https://www.googleapis.com/auth/spreadsheets.currentonly | View and manage only the spreadsheet in which the add-on is opened | To create the "Synced data" tab and write your records into it, and to read that tab on the next sync so it can update rows by record ID |
https://www.googleapis.com/auth/script.external_request | Connect to external services | To sign you in to Airtable and to read your table from Airtable's API (api.airtable.com and airtable.com only) |
https://www.googleapis.com/auth/script.container.ui | Show content in a sidebar inside Google Sheets | To display the add-on's sidebar |
We do not request access to your other spreadsheets, your Google Drive, Gmail, contacts or calendar, and the add-on does not read your name or email address.
If scheduled sync is enabled in a future version, it will also request https://www.googleapis.com/auth/script.scriptapp (to run timed syncs); we will update this policy and ask for your consent before using it.
3. Airtable data we access, and why
- You sign in through Airtable's own OAuth page. We never ask for your Airtable password, API key or personal access token.
- We request read-only Airtable permissions:
data.records:read(read records) andschema.bases:read(read base, table and field names and types). Gridferry cannot create, edit or delete anything in Airtable. - Airtable lets you choose which bases Gridferry can see. Gridferry reads the list of those bases, the tables and fields of the base you pick, and the records of the table you sync.
4. What is stored, where, and for how long
We do not keep copies of your table data outside your own spreadsheet. Your records may include other people's personal data (for example collaborator names or emails in Airtable collaborator fields, which Gridferry writes into the sheet as text); you decide what to sync and who can see the sheet, and for that data we act on your behalf (as a processor). The add-on stores only the following, in Google Apps Script's built-in storage, which is hosted by Google:
| Data | Where it is stored | Purpose | How long |
| Your synced records (field values, record IDs), a "Sync status" column and a "Last sync run" column | The "Synced data" tab(s) of your spreadsheet | The product itself | Until you delete them; your spreadsheet is yours |
| Airtable sign-in tokens (access token, refresh token, expiry), signed with a secret key to detect tampering | Apps Script User Properties (per Google user, per add-on) | To read your table without asking you to sign in every time | Until you disconnect, or until Airtable expires them. Uninstalling may not delete them, so disconnect first and revoke access in Airtable (section 7); a revoked or expired token no longer works. Airtable access tokens last 60 minutes and the add-on renews them with the refresh token when you sync; if the refresh token isn't used for 60 days it expires and you need to sign in again |
| Sync settings: the base and table IDs you synced, the tables counted against your plan, your monthly sync count, a "needs reconnect" flag | Apps Script User Properties | To run syncs and apply plan limits | Until you stop syncing a table, or choose Disconnect and delete settings. The monthly sync count resets each month; after Disconnect and delete, this month's count is kept to enforce the Free plan limit; it stops counting on the 1st of the next month (UTC) and is deleted the next time you open Gridferry |
| Which tab belongs to which table; a resume point for a long sync | Apps Script Document Properties (attached to your spreadsheet) | So a table always writes to its own tab and a paused sync can continue | Resume point is cleared when the sync finishes; tab bindings stay with the spreadsheet |
| A short-lived rate-limit window per base, and sync progress counts | Apps Script User Cache | To stay under Airtable's request limits and show progress | Expires automatically (progress: 10 minutes) |
| Security counters: daily counts of failed credential checks and rejected sign-ins, with no names, emails or record data | Apps Script Script Properties | To detect attempted misuse (security) | 35 days, then deleted automatically |
| Messages you send to support | support@plankfoundry.com mailbox | To help you | 24 months from our last reply, then deleted |
We do not use cookies, analytics, tracking pixels or advertising SDKs in the add-on. If we add any, we will update this policy first.
5. How we use data
Only to provide the features you see in the add-on: signing in to Airtable, listing your bases and tables, syncing records into your spreadsheet, applying plan limits, and keeping the service secure.
Google API Services User Data Policy / Limited Use. Gridferry's use and transfer of information received from Google APIs adheres to the Google API Services User Data Policy (https://developers.google.com/terms/api-services-user-data-policy), including the Limited Use requirements. In particular, we use that data only to provide and improve user-facing features that are prominent in the add-on; we do not transfer it except as needed to provide those features with your consent, for security, to comply with law, or in a merger/acquisition with your explicit prior consent; we do not allow humans to read it except with your affirmative agreement, for security, to comply with law, or in aggregated form for internal operations; and we never sell it, use it for advertising, or use it to determine credit-worthiness or for lending.
6. Sharing
- Airtable: we send your Airtable sign-in tokens to Airtable to read your data. Airtable's own privacy policy applies to your Airtable account.
- Google: the add-on runs on Google Apps Script; Google hosts its storage and network requests. Google's privacy policy applies to your Google account.
- Service providers: we run no servers and use no subprocessors for Gridferry. The add-on calls Google and Airtable directly for you; they process your data under your own Google and Airtable accounts and their own terms and privacy policies. Support emails are handled in our Gmail mailbox (Google). We will list any new provider here before using it.
- Legal and security: if required by law, or to investigate abuse or a security incident.
We do not sell personal data, and we do not share it for cross-context behavioural advertising.
7. Your choices and rights
- Stop syncing a table: use "Stop syncing this table" in the sidebar. Your existing rows stay in your sheet.
- Disconnect: open the Gridferry sidebar, click Disconnect, then choose:
- Disconnect and delete settings: deletes your Airtable sign-in tokens (access token, refresh token, expiry) and any unfinished sign-in or "needs reconnect" state, plus your sync settings: the tables you chose to sync, your last-used sync settings, your change-detection setting and any scheduled-sync status. On this spreadsheet it also deletes the sheet links (which tab belongs to which table, including links saved by older versions) and any saved resume point for an unfinished sync. This month's sync count is kept to enforce the Free plan limit (the month and a number only, no content, so the limit can't be reset by reconnecting); it stops counting on the 1st of the next month (UTC) and is deleted the next time you open Gridferry.
- Disconnect, keep settings: deletes only your sign-in tokens and sign-in state; your settings and sync count stay so you can reconnect later.
- Either way, your sheet data stays as it is; delete the "Synced data" tab(s) yourself if you want it gone.
- Shared spreadsheets: sheet links are saved in the spreadsheet itself, not in your account, so deleting them also removes them for anyone else who uses Gridferry in that spreadsheet.
- Cancel closes the dialog and changes nothing.
- Revoke access at the source: Disconnect does not tell Airtable or Google to revoke anything. To revoke Gridferry's Airtable access, remove the integration in your Airtable account's integrations settings. To revoke Google permissions, remove Gridferry at myaccount.google.com (Security > Third-party apps / connections) or uninstall the add-on.
- Revoke Google access: remove Gridferry in your Google Account's third-party access settings (myaccount.google.com), or uninstall the add-on.
- Delete synced data: delete the "Synced data" tab(s) from your spreadsheet.
- Access, correction, deletion and other rights under laws that apply to you (for example GDPR/UK GDPR or US state privacy laws): contact support@plankfoundry.com. Legal bases (EU/UK): performance of our contract with you (Art. 6(1)(b) GDPR) to run syncs; legitimate interests (Art. 6(1)(f)) for security counters. For the Airtable records you sync we act as your processor; for your account and plan data (sync settings, counts and security counters) we are the controller. You may complain to your local data protection authority (in the UK, the ICO). We have not appointed an EU or UK representative.
8. Security
Sign-in tokens are stored only in Google Apps Script's per-user storage and are signed so that tampering is detected. All requests to Airtable use HTTPS. We follow a written incident-response runbook. If we discover or suspect a security incident affecting Airtable data (including sign-in tokens), we notify Airtable in writing promptly and in no event later than 48 hours after the incident, as Airtable's Developer Terms require (https://airtable.com/developer-terms), and we will notify you and regulators where the law requires. If an incident affects your data, we will tell you without undue delay where the law requires it.
9. Children
Gridferry is a business productivity tool and is not directed to children under 13 (or the minimum age in your country). We do not knowingly collect children's data.
10. International transfers
We are based in the United States (Ohio). Google and Airtable may process data in other countries under their own terms. The add-on does not send your data to us, so we make no transfer of it (not applicable). If you email support, your message is handled in Gmail by Google LLC in the United States; Google is certified under the EU-U.S. Data Privacy Framework and its UK Extension.
11. Changes
If we change how Gridferry uses Google user data, we will update this policy and ask for your consent before using data in a new way. The effective date at the top shows the latest version.
12. Contact
Nicholas Syrianoudis. Email: support@plankfoundry.com. Website: https://plankfoundry.com/gridferry/. Postal address available on request at support@plankfoundry.com.