Brokerage Connect / privacy

Your data, explained.

Policy revision: September 25, 2026. Operator: Jacob Devin. Contact: flexocm@gmail.com.

Google user data we access

SnapTrade Brokerage Connect accesses the following Google user data to connect your account and import, refresh, and recover brokerage tables in the Google Sheets spreadsheet where you use the add-on:

Why we request Google permissions

Current-spreadsheet access lets us read, write, format, and recover your selected tables. Editor interface access lets us display the sidebar and dialogs where you control imports. External-service access lets Apps Script contact our backend to connect SnapTrade and retrieve the data you request. OpenID identity access authenticates those requests and connects them to the same Google account used in the browser. The add-on does not request access to other spreadsheets, your Drive file list, Gmail, or Contacts.

Brokerage data we process

When you authorize SnapTrade, our backend receives and verifies that authorization, stores encrypted SnapTrade access and refresh tokens, and requests your selected account details, positions, activities, balances, orders, and optional balance history where available. Optional raw response fields are included only when you enable them. This financial data passes from SnapTrade through our backend and Apps Script into your spreadsheet. We do not ask for brokerage passwords or place trades.

How we protect your data

Spreadsheet values, temporary tabs, and Apps Script user properties are stored by Google and are subject to Google's storage protections and your spreadsheet sharing permissions. Our database encryption does not restrict collaborators who can already access your spreadsheet. Review sharing before importing financial information; hidden tabs remain accessible to people with sufficient spreadsheet permissions.

Storage and retention

We retain your hashed Google account identifier until you delete app data. SnapTrade grants remain encrypted until disconnect or deletion. Encrypted import configuration, account metadata, and financial table chunks are retained for up to 24 hours of use. Expired jobs become inaccessible immediately. A daily cleanup removes expired records, normally within about 49 hours of their creation in the active database, including scheduling variation. OAuth launch material expires after 10 minutes and browser sessions after 15 minutes. Service disruption can delay physical deletion.

Neon keeps a rolling six-hour history for point-in-time database recovery. Records deleted from the active database may remain recoverable through that history for up to six additional hours. We do not retain manual Neon database snapshots or run scheduled Neon snapshots. This database recovery window is separate from the retention of values, copies, and version history in Google Sheets.

Vercel retains runtime logs for one hour on our current hosting plan. These logs include technical request information, such as request paths, response status, and timing, used to operate and troubleshoot the service. We do not export logs through external log drains. Build logs are separate deployment records retained by Vercel for each deployment and are not subject to the one-hour runtime-log limit.

Vercel Web Analytics collects aggregated website traffic data, including page URLs, referrers, browser and device information, and approximate location. It does not use tracking cookies. We use these statistics to understand visits to the website, and do not send brokerage account contents or Google identity tokens as analytics events.

Google Apps Script user properties retain per-user import settings for each spreadsheet. The spreadsheet itself contains imported values and temporary stage/backup tabs. Successful import or recovery removes temporary tabs; interrupted imports retain them for recovery. Hidden tabs are not a privacy boundary. User properties also retain a random output-ownership marker so you can remove your managed values after backend deletion.

Use and sharing

Data is used to authenticate, connect, import, refresh, and recover requested tables. Google processes sign-in, Apps Script, and spreadsheet data. Vercel hosts our website and backend. Neon, provisioned through Vercel, hosts our PostgreSQL database in the Washington, D.C., USA (East) region and stores account and import records. SnapTrade processes brokerage authorization and selected brokerage data requests; we do not send it your Google identity token, spreadsheet ID, or spreadsheet cell contents. These providers process the data needed to deliver their respective services.

Your choices

Disconnect revokes app access where possible and erases local credentials and active jobs. Delete app data also removes saved import settings and the backend identity record. Remote revocation failures are reported with dashboard instructions. Brokerage connections in SnapTrade are not deleted. See data deletion for spreadsheet removal and copy/export limitations. You can also remove the app's Google access from your Google Account connections. Revoking Google access does not itself delete existing app records or spreadsheet values; use Delete app data first if you want to remove saved app records, or contact us for help.

Google API Services User Data Policy

We do not sell Google user data or financial data, use it for advertising, or use it to develop, improve, or train generalized or non-personalized AI or machine-learning models. We do not use advertising trackers. SnapTrade Brokerage Connect's use and transfer of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements.