Privacy Policy
Last updated: March 18, 2026
What we collect
When you use SheetPortal, we collect the minimum data needed to run the service:
- Your email address (used for sign-in and to match you to your portal data)
- Your name, if you provide it in your account
- Feedback you submit on portal rows (approve / needs changes)
- Basic usage data like page views and errors (via Sentry)
What we don't collect
- We don't sell or share your personal data with advertisers
- We don't use tracking cookies or third-party analytics
- We don't use your Google data for advertising or profiling
Where your data is stored
Your account and portal data is stored in Supabase (EU region). Supabase uses PostgreSQL with row-level security, so your data is isolated from other users at the database level.
Who processes your data
- Supabase — authentication and database hosting
- Vercel — application hosting and serverless functions
- Stripe — payment processing (only if you subscribe to a paid plan)
- Sentry — error monitoring (captures error context, not personal data)
- Google Sheets API — read-only access to sheets your portal admin has connected
Google Workspace Add-on — Data & Permissions Disclosure
SheetPortal is available as a Google Workspace Add-on for Google Sheets. This section describes what data the add-on accesses, how it is used, and how it complies with Google API Services User Data Policy, including the Limited Use requirements.
OAuth scopes we request
spreadsheets
What it does: Allows the add-on to read the active spreadsheet's headers, row data, and sheet tab names.
Why we need it: To display column headers in the sidebar, generate filtered previews, and create a data snapshot when you create a portal. The add-on reads selected columns and rows that match your filters — it does not modify your spreadsheet.
script.container.ui
What it does: Allows the add-on to show a sidebar panel inside Google Sheets.
Why we need it: The sidebar is the primary interface where you select columns, set filters, preview data, and create portals.
script.external_request
What it does: Allows the add-on to make HTTP requests to external services.
Why we need it: When connected to the SheetPortal backend (Mode A), the add-on sends your portal's data snapshot to our server so it can be served as a web page. This is the only external request the add-on makes.
userinfo.email
What it does: Allows the add-on to read your Google account email address.
Why we need it: To identify you as the portal creator. Your email is stored alongside the portal so you can manage it later.
What data we access
- Column headers from the active sheet (to show in the sidebar for selection)
- Row data from the active sheet (filtered by your chosen columns and filters only)
- Sheet tab names (to let you pick which tab to use)
- Your Google account email address (to identify portal ownership)
What data we store
- Portal data snapshot: A filtered subset of your sheet data (only the columns and rows you selected) is stored in our database to serve the portal web page. This is not a full copy of your spreadsheet.
- Portal configuration: Portal name, selected columns, filters, sheet name, and your email address.
- In standalone mode (Mode B): Portal config and data snapshot are stored in Google Apps Script's ScriptProperties — no data leaves Google.
What we do NOT do
- We do NOT modify, write to, or delete any data in your Google Sheets
- We do NOT access spreadsheets other than the one you have open
- We do NOT share your Google user data with third parties for advertising
- We do NOT use your Google data to train machine learning models
- We do NOT transfer your data to third parties except as needed to provide the service (hosting on Supabase/Vercel)
- We do NOT retain your data after you delete your portal
Google API Services Limited Use Disclosure
SheetPortal'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.
Specifically, SheetPortal only uses Google user data to provide and improve the portal creation and viewing features described in this policy. We limit our use of Google user data to the practices explicitly disclosed here.
How to request deletion
You can request deletion of your account and all associated data by emailing privacy@sheetportal.app. We'll process your request within 30 days and confirm once complete. Deletion removes your auth record, portal access, any feedback you've submitted, and all stored portal data snapshots.
Changes to this policy
If we make meaningful changes, we'll update the date at the top of this page. For major changes, we'll notify you by email.