gulaq
gulaq Privacy Policy
gulaq is a local-first Chrome extension and desktop app. This policy explains exactly what data stays on your device and what is sent to our cloud services.
Effective: August 9, 2026
Summary: gulaq requires you to create an account and sign in — with your email and a password, or with Google. Your account email (and, for email sign-in, your password) is sent to our authentication provider, Supabase, which also handles account management, device registration, feature flags, and privacy-safe analytics/error metadata. gulaq does not upload your saved AI chat contents, prompts, responses, tab titles, full URLs, browser history, cookies, passwords saved for other websites, auth tokens, local vault files, or exported chat/workspace files to Supabase by default.
Data We Handle — At a Glance
This table comprehensively lists every category of user data gulaq can access, how it is used, where it is stored, and who it is shared with. Categories not listed are not collected.
| Data type | Collected? | How it is used | Stored | Shared with |
|---|---|---|---|---|
| Account credentials & identity (email address; your password if you use email sign-in; or your Google account ID if you use Google) | Yes — when you register or sign in | Create, secure, and sign in to your account | Supabase Auth (cloud); passwords are stored hashed by Supabase, never by gulaq | Supabase; Google (only if you choose Google sign-in) |
| Authentication info (sign-in session token) | Yes | Keep you signed in | Locally on your device; session validated by Supabase | Supabase |
| Website content (the AI chat messages you choose to save) | Yes — only when you click Save/Capture | Save, export, and restore your own conversations | Locally on your device only | No one (never uploaded) |
| Web browsing activity (titles & URLs of the tabs in a workspace) | Yes — only when you save a workspace | Save and restore browser workspaces (the extension’s core feature) | Locally on your device only | No one (never uploaded) |
| Product interaction / activity (privacy-safe analytics & error codes) | Yes | Service reliability and feature-usage metrics (no content) | Supabase (cloud) | Supabase |
| Device metadata (app/extension version, OS, device count) | Yes | Manage multi-device access and feature flags | Supabase (cloud) | Supabase |
| Job posting content (title, company, location, and description of a job page you choose to capture, plus any notes or cover-letter text you type) | Yes — only on supported job sites, and only when you click Capture | Build your own private job-application tracker | Locally on your device only | No one (never uploaded) |
| Public repository content (the GitHub repository URL you choose to capture, and the files the desktop app then downloads from it) | Yes — only when you capture a repository | Import skills, agents and tools into your local Work Environments | Locally on your device only | GitHub (the request to fetch the public repository you chose) |
| Location, health, personal communications, cookies/passwords for other sites, keystroke logging | No | — | — | — |
| Financial / payment information | Not collected by gulaq | Subscription billing is handled entirely by our merchant of record; gulaq receives only order and subscription status, never card details | Lemon Squeezy (not gulaq) | Lemon Squeezy |
Web browsing activity and website content are collected onlyin direct support of the extension’s prominently described features (saving workspaces and saving AI chats), only when you take an action to do so, and they are stored locally on your device — never uploaded to gulaq’s servers or shared with any third party. Each category is described in full detail in the sections below.
1. What is gulaq?
gulaq is a Chrome browser extension (Manifest V3) and Tauri desktop application. Together they form a local-first vault for saving browser workspaces (tabs, windows, tab groups) and AI conversations from platforms including ChatGPT, Claude, Gemini, Perplexity, and Microsoft Copilot.
The vault also holds two optional records you create yourself: a job-application tracker, for job postings you choose to capture from supported job sites, and Work Environments, which import skills, agents and tools from public GitHub repositories you choose. Both are off until you use them, both store their data on your device, and both are described in detail below.
gulaq is designed so that your private data — saved chats, workspace files, exported documents — lives on your own machine by default. Cloud services are used only for the account and operational reliability features described in this policy.
2. Data Stored Locally on Your Device
The following data is stored on your local device and is not uploaded to Supabase or any remote server by default:
- Saved AI conversations (chat messages, prompts, and responses captured from AI platforms)
- Chat exports in JSON and Markdown format
- Browser workspace data (saved tabs, windows, tab groups, pinned states, window geometry)
- Tab and window metadata used to restore saved sessions
- The local SQLite vault database file on your SSD
- Local backup archives created by the desktop app
- Extension local cache (stored in
chrome.storage.local) - Workspace bundle export files
- Job applications you capture — job title, company, location, the posting description, its source URL, the status you set, and any notes or cover-letter text you write
- Work Environments — the skills, agents and tools downloaded from public GitHub repositories you choose to import
If you save a job application before installing the desktop app, it is held in the extension’s local browser storage and moved into your local vault the first time the desktop app is available. It is not uploaded anywhere in the meantime.
This local data is stored on your device and remains under your control. You can view, export, or delete it at any time using the desktop app or by removing the local vault folder manually.
3. Data Sent to Supabase (Cloud)
gulaq uses Supabase as its backend service for the following purposes only:
| Category | What is collected | Why |
|---|---|---|
| Authentication | Email address, Google account ID, Supabase user ID, auth session metadata | Required to sign in and identify your account |
| Account / Plan | Plan and entitlement status (Free or Pro), subscription state, and billing-provider identifiers | To check whether a feature is available to your account |
| Device Registration | App version, extension version, OS platform, desktop app version, device count | To manage multi-device access and enforce device limits |
| Feature Flags | Feature flag request/response (flag name and on/off value only) | To roll out or disable features remotely without a software update |
| Analytics & Error Metadata | Privacy-safe event codes and redacted error codes. Examples: save_chat_success, native_host_connected, license_check_failed. May include: platform name, app version, size bucket (e.g. “large”, not raw size), error code. | To understand service reliability, feature usage, and catch critical errors |
4. How We Share Your Data (Third Parties)
gulaq shares the limited account and operational data described in Section 3 with the third-party service providers listed below, solely to operate the service. We never share your private vault content — your saved AI conversations, prompts, responses, tab URLs, workspace files, or exported documents — with any of them.
| Third party | What is shared with them | Purpose |
|---|---|---|
| Supabase, Inc. (backend & database host) | Account email, Google account ID, Supabase user ID, auth session tokens, device registration metadata, plan status, feature-flag requests, and privacy-safe event/error codes | Authentication, account management, device registration, feature flags, and reliability analytics |
| Google LLC (Google OAuth, via Supabase Auth) | Your Google basic profile (name, email, Google account ID) at the moment you choose “Sign in with Google” | To verify your identity for sign-in. gulaq requests only basic OpenID Connect scopes — no Gmail, Drive, or Calendar access |
| Vercel Inc. (website hosting / CDN) | Standard web-request metadata (IP address, user agent) when you visit the gulaq website or these legal pages | Serving the public website and policy pages. The Chrome extension itself does not route your data through Vercel |
| Lemon Squeezy (planned merchant of record for gulaq Pro) | Name, email, billing address, tax information, order and subscription records, payment status, and fraud-prevention data. Payment card details never touch the gulaq extension, desktop app, website servers, or Supabase database | After Pro launches: secure checkout, tax calculation and collection, receipts, subscription management, refunds, fraud prevention, and payment processing |
Optional desktop AI features (your own AI provider)
The gulaq Desktop app includes optional AI features — collectively “Project Brain” — that are turned off by default and are not part of the Chrome extension. They do nothing until you add an API key of your own. Supported providers are Google Gemini, OpenRouter, and NVIDIA NIM, plus Ollama, which runs on your own machine and sends nothing to anyone.
This is the one place where saved conversation content can leave your computer, so it is worth stating exactly. When you build a Brain, ask it a question, or generate a summary using a remoteprovider, what is sent to that provider is: your question, the titles of the matching saved chats, and excerpts of those chats’ contents. It is sent directly from your device to the provider you configured, under your own account and their privacy policy. It is never routed through gulaq’s servers, and it never happens unless you enable the feature and start one of those actions. Choosing Ollama keeps all of it on your machine.
Your provider API key is stored in your operating system’s credential manager (Windows Credential Manager, macOS Keychain, or Secret Service on Linux). It is never written to the vault database, backups, or logs, is never sent to gulaq, and the app only ever displays a masked hint of it back to you.
Work Environments and GitHub
When you capture a Work Environment, the extension sends only the repository URL to the desktop app; the desktop app then downloads that public repository directly from GitHub and unpacks it into your local vault. GitHub therefore sees a request for a repository you chose, as it would for any visitor. No vault content is sent to GitHub.
You may optionally add a GitHub personal access token to reach private repositories or raise GitHub’s rate limit. Like AI provider keys, it is held in your operating system’s credential manager, never in the vault or in any log, and is sent only to GitHub.
We do not sell your personal data. We do not share your data with advertising networks or data brokers, and we do not use your data for advertising. Your private vault content (AI chats, prompts, responses, workspaces, and exports) stays on your device and is never shared with Supabase, Google, or any other third party.
5. What gulaq Does NOT Upload by Default
The following data is never uploaded to Supabase or any remote server by default:
- The text of your saved AI conversations (prompts, responses, chat messages)
- Full tab URLs or browser history
- Tab titles or workspace names
- Browser cookies, passwords, or authentication tokens for third-party websites
- Your local SQLite vault database file
- Exported JSON or Markdown chat files
- Workspace files or bundle exports
- Job applications you capture, including the posting text, your notes, and any cover letter
- The contents of Work Environments imported from GitHub
- Your AI provider or GitHub access keys
- Screenshots
- Any raw content you have saved or typed
The single exception is the optional Project Brain feature in the desktop app, which sends the chat excerpts described in Section 4 directly to the AI provider you configure — never to gulaq. It is off unless you turn it on.
Analytics events that mention AI platforms (e.g. save_chat_success) contain only metadata such as the platform name and a size bucket. Raw chat text, prompts, and responses are never included in analytics events.
6. Authentication — Email & Password, and Google
Signing in is required to use gulaq. Authentication is handled by Supabase Auth, and gulaq offers two ways to sign in. In both cases we collect the data below solely to create and secure your account.
Email and password
When you register or sign in with email and password, gulaq collects your email address and your password and transmits them over an encrypted HTTPS connection to Supabase Auth, which verifies them and creates your account. Your password is stored securely and hashed by Supabase Auth using industry-standard hashing — gulaq itself never stores your password, and your password is never written to the local vault, logs, or analytics events, and is never shared with any other third party.
Sign in with Google (OAuth)
- Google returns a basic profile (name, email, Google account ID) to Supabase.
- gulaq does not request access to your Gmail, Google Drive, Google Calendar, or other Google services.
- gulaq only requests the basic OpenID Connect scopes needed to identify your account.
- When you use Google sign-in, gulaq never sees or stores a password.
With either method, your Supabase session token is stored locally on your device and used to authenticate future requests. gulaq Core is free forever; the optional Pro subscription is associated with the same account.
7. Analytics in Detail
gulaq sends privacy-safe analytics events to Supabase to help us understand whether the product is working correctly. These events are designed to contain no private vault content.
Example safe events
save_workspace_success— a workspace was saved successfullysave_chat_failed— a chat capture attempt failednative_host_connected— the extension connected to the desktop vaultlicense_check_ok— license verification succeededexport_markdown_complete— a Markdown export was completed
Event metadata may include
- Platform name (e.g. “chatgpt”, “claude”) — not the URL or content
- Size bucket (e.g. “small”, “medium”, “large”) — not the raw byte count or content
- App and extension version numbers
- Error codes (e.g. “DOM_NOT_FOUND”) — not error messages containing private text
- OS platform (e.g. “win32”, “darwin”)
Analytics are used to track service reliability and understand which features are working. They do not include private chat content, prompts, responses, URLs, or workspace files.
8. Device Registration
When you install and sign in to gulaq on a device, a device registration record is created in Supabase. This record includes:
- A device identifier (hashed or pseudonymous, not raw machine secrets)
- The extension version, desktop app version, and native host version
- OS platform
- Registration timestamp
Device registration is used to enforce device limits and provide version-aware feature flags. It does not include hardware serial numbers, MAC addresses, or raw system identifiers.
9. Native Messaging and Local Communication
gulaq uses Chrome’s native messaging API to communicate between the browser extension and the local desktop vault application. This is a local, on-device connection — it is not a network connection and data exchanged via native messaging does not leave your device.
Native messaging is used to save large data (such as AI chats and workspace files) to the local SQLite vault on your SSD. It is not used to upload data to any remote server.
10. Content Scripts and Host Permissions
gulaq’s content scripts are injected only into the following AI platform domains, for the sole purpose of capturing conversation content at the user’s request:
- chatgpt.com and chat.openai.com (ChatGPT)
- claude.ai (Anthropic Claude)
- gemini.google.com (Google Gemini)
- perplexity.ai (Perplexity)
- copilot.microsoft.com (Microsoft Copilot)
Content scripts read the visible DOM of those pages to extract conversation text. They do not access browser cookies, passwords, or authentication tokens for those platforms. Captured content is saved to your local vault and is not uploaded to our servers.
The Supabase host permission (kjbwoyawzfnxlxzgvpvm.supabase.co) is used for authentication and the cloud metadata described above. No private vault content is sent via this connection.
Job sites — optional, granted per site, only when you ask
gulaq does nothold standing access to job sites. The first time you capture a posting from one, Chrome asks you to grant access to that single site, and only over HTTPS. You can revoke it at any time from Chrome’s extension settings. The sites gulaq can request are:
- linkedin.com
- indeed.com and indeed.co.uk
- myworkdayjobs.com (Workday)
- ashbyhq.com and jobs.ashbyhq.com (Ashby)
- greenhouse.io (Greenhouse)
- jobs.lever.co (Lever)
- icims.com (iCIMS)
- breezy.hr (Breezy)
- jobs.smartrecruiters.com and api.smartrecruiters.com (SmartRecruiters)
On a granted site, gulaq reads the visible job posting — title, company, location and description — only at the moment you click Capture, and shows it to you for review before anything is saved. Two of those hosts (jobs.ashbyhq.com and api.smartrecruiters.com) are also contacted directly because those sites publish their postings through an API rather than in the page. gulaq does not read your account, applications, messages, or profile on any job site, and captured postings are saved to your local vault only.
11. Payments
gulaq Core is free forever. gulaq Pro is an optional subscription. Pro billing is not currently switched on — every feature is available to all signed-in users at present — and this section describes how payment works when it is enabled.
Lemon Squeezy acts as the merchant of record and handles checkout, applicable taxes, receipts, subscription management, refunds, and fraud prevention. Lemon Squeezy notifies gulaq of order and subscription status so that Pro access can be enabled, renewed, cancelled, refunded, or expired for the correct account. What gulaq stores as a result is limited to the subscription state itself: plan, status, renewal date, and the provider’s order and subscription identifiers.
Payment card numbers and payment secrets are processed by Lemon Squeezy and its payment partners. They are never stored in the gulaq browser extension, desktop application, Project Golden Age website servers, or Supabase database, and gulaq never sees them. We retain limited transaction identifiers and subscription status as needed to provide access, support customers, prevent fraud, and meet legal or accounting obligations.
12. Data Retention
- Local data remains on your device until you delete it manually, via the desktop app, or by uninstalling the application and removing the vault folder.
- Cloud account data (auth profile, device records, plan status, analytics) is retained while your account exists and for a reasonable period afterward as required for legal or operational reasons.
- You may request deletion of your cloud account data at any time. See Section 13 and the Delete Account page.
13. Your Controls and Rights
| Action | How to do it |
|---|---|
| Sign out | Use the Sign Out button in the gulaq side panel or desktop app |
| Delete cloud account / metadata | See the Delete Account page or email us |
| Delete local vault | Delete via desktop app settings, or manually remove the vault folder from your SSD |
| Export your data | Use the export features in the gulaq desktop app (JSON, Markdown) |
| Revoke Google access | Visit Google Account → Security → Third-party apps and remove gulaq |
| Uninstall extension | Chrome menu → Extensions → Remove gulaq |
| Uninstall desktop app | Uninstall the gulaq desktop app via your OS, then manually delete the vault folder if desired |
14. Security
- Supabase service role keys are never included in the Chrome extension or desktop app client code.
- The extension uses Row Level Security (RLS) on the Supabase database — users can only read or write their own records.
- Local vault content remains on your device and is only accessible to the gulaq desktop app via native messaging.
- The extension Content Security Policy restricts script execution to trusted sources only.
- If you discover a security vulnerability, please report it to backtothegoldenage@gmail.com.
15. Children’s Privacy
gulaq is not directed at or designed for children under 13. We do not knowingly collect personal information from children under 13. If you believe we have inadvertently collected such information, please contact us and we will promptly delete it.
16. Changes to This Policy
We may update this policy as gulaq evolves. Material changes will be reflected by an updated effective date. We encourage you to review this policy periodically.
These documents are provided for transparency and Chrome Web Store review purposes and may be updated as Project Golden Age and gulaq evolve.
Privacy Contact
Privacy questions, data requests, or security reports:
Related pages: Data Safety · Delete Account · Permissions