What we process
Google account information
We process your Google subject identifier and primary email address to authenticate you and associate your Codeprint account, installation, page allowance, and billing state. We do not receive or store your Google password.
The current spreadsheet
The add-on reads or writes only the spreadsheet where it is currently running, as needed to validate a destination and perform an insertion you request. Spreadsheet cell content and destination values are not sent to Codeprint.
The PDF and extraction
We process the local PDF you explicitly select, the document text and page images needed by paid Gemini, and the extracted rows needed to preview and insert your result. We do not browse arbitrary Google Drive files.
Google permissions and why we request them
PDF to Sheets requests only the following Google OAuth scopes. It does not request a Google Drive scope or the broad Google Sheets scope.
openid- Establishes your Google identity and supplies a stable subject identifier for secure sign-in to your shared Codeprint account.
https://www.googleapis.com/auth/userinfo.email- Reads your primary Google email to associate your Codeprint account, installation, allowance, subscription, and support requests.
https://www.googleapis.com/auth/spreadsheets.currentonly- Allows the add-on to read and write only the spreadsheet where it is currently running. It validates the chosen destination and inserts tables you reviewed and selected.
https://www.googleapis.com/auth/script.container.ui- Allows the add-on to create its menu, sidebar, and dialogs inside the current Google spreadsheet.
https://www.googleapis.com/auth/script.external_request- Allows Apps Script to make HTTPS requests to the specifically allowlisted Codeprint/Supabase authentication, conversion-control, usage, entitlement, and billing endpoints. Those requests do not include spreadsheet cell content or PDF content.
How Google user data is accessed, used, stored, and shared
Access and use
Google identity data is used only to sign you in and operate your Codeprint account. Current-spreadsheet access is used only when the add-on needs to validate an insertion destination or insert a result you selected.
Storage
Your Google subject identifier and email can be stored with your account, installation, allowance, and subscription records in Supabase. The add-on stores its Codeprint session and installation credentials in user-scoped Apps Script properties so it can keep you connected. Those credentials do not grant broad Google Drive access.
Sharing
Google identity data is exchanged with Supabase Auth and the PDF-specific Codeprint control plane to authenticate you and enforce account ownership, usage, and billing state. Spreadsheet cell content is not transferred to Codeprint, Gemini, Cloudflare, DigitalOcean, Stripe, or Vercel.
Information we retain
Durable application data can include account and installation records; product and job state; page and chunk counts; aggregate usage, cost, and latency; safe content-free error categories; subscription and billing status; and security or audit metadata.
Link handles payment-card and checkout details. Codeprint can retain the identifiers and subscription status needed to provide the purchased plan, but does not receive complete payment-card details.
Why we use information and applicable legal bases
- Authenticate you and provide the conversion, preview, insertion, account, and subscription services you request.
- Reserve, settle, and display page allowance without double charging.
- Deliver a temporary result to the correct account and installation.
- Prevent abuse, troubleshoot content-free failures, secure the service, and comply with legal obligations.
Where data-protection law requires a legal basis, processing needed to provide the service is based on performance of the agreement with you; security, abuse prevention, and content-free troubleshooting are based on legitimate interests; billing, tax, audit, and legal records are processed as needed for the agreement or legal obligations; and consent is used where applicable law specifically requires it.
Service providers and international processing
PDF to Sheets uses Google identity, Apps Script, Google Sheets, and paid Gemini; Supabase Auth, Postgres, and Edge Functions for the control plane; Cloudflare R2 for private temporary objects; DigitalOcean for isolated processing; Stripe and Link for Managed Payments, hosted checkout, receipts, tax, payment, and subscription support; and Vercel for this informational website.
These providers can process information in the United States and other countries where they operate. International processing is subject to applicable law and the contractual or other transfer safeguards supplied by the relevant provider.
Temporary content and retention
Codeprint-controlled PDF uploads are deleted as soon as reliable processing no longer needs them. Structured results are deleted after confirmed insertion. Abandoned upload/result content has a one-hour maximum availability target under the cleanup model; local processing chunks and explicit Gemini files are deleted immediately after use.
Content-free rate windows may remain for up to 24 hours. Eligible terminal job and Checkout metadata may remain for 30 days. Unresolved cleanup records remain until cleanup can be completed safely. Account and installation records remain while the account is active and until deletion can be completed. Usage, billing, security, audit, and legal records remain only as long as reasonably needed for allowance enforcement, financial records, fraud prevention, disputes, security, or applicable law.
Google's paid Gemini terms separately govern limited provider logging for policy and abuse detection. Provider security and abuse records are not covered by Codeprint's one-hour content target.
Website cookies and analytics
At this policy's effective date, this informational website does not set browser cookies, use advertising or behavioral analytics, or load third-party tracking scripts. Ordinary hosting security and request logs can still be processed by Vercel to deliver and protect the site.
What we do not do
- We do not sell personal data or share it for cross-context behavioral advertising.
- We do not make credit or lending decisions.
- Codeprint does not use documents to train models.
- We do not retain PDF content for analytics, a support archive, or future reprocessing.
- We do not use hidden manual document review.
Google API Limited Use
PDF to Sheets' use and transfer to any other app of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements.
Security
We use reasonable administrative, technical, and organizational safeguards, including private object storage, random keys, short-lived signed access, account/job ownership checks, bounded processing, and content-safe application logs. No system is absolutely secure, and we do not promise that unauthorized access can never occur.
Your choices, rights, and deletion
You can uninstall the add-on, revoke its Google account access, stop using the service, or request access, correction, portability, restriction, objection, or deletion where applicable by emailing jacob@codeprint.io. We may ask you to verify the account before acting on a request.
A verified deletion request covers the Codeprint account and product records that can be deleted. Some billing, tax, security, audit, dispute, or legal records may remain where required or reasonably necessary. Revoking Google access stops future Google access but is separate from requesting deletion of Codeprint account records.
Depending on your location, you may also have a right to appeal a denied request or complain to a privacy regulator. We will not discriminate against you for exercising a nonwaivable privacy right.
Eligibility, changes, and contact
The service is for people 18 or older using it for professional or business purposes. It is not directed to children.
We may update this policy as the product, providers, or law changes. Material changes will be shown with a revised effective date. Questions and requests: jacob@codeprint.io.