Frequently Asked Questions¶
Short, honest answers to the questions people actually ask. If something here is wrong or missing, open an issue on GitHub — this page is a living document.
Glassy at a glance¶
What is Glassy?¶
Glassy is a quiet web workspace for people who think in 47 tabs, 12 notebooks, and a voice memo they forgot to label. It bundles notes, bookmarks, voice transcription, and on-device AI on one page. Files stay on your disk; nothing about your writing trains a model. The Glassy Capture browser extension is a separate tool that captures into Glassy.
Is there a desktop app?¶
No. Glassy runs in your browser at app.glassy.fyi. Install it as a PWA for a native-window experience with offline support and a dock icon. See Quick Start for the install steps.
Is there a mobile app?¶
Not yet. The web app works on mobile browsers and the PWA installs on iOS and Android. A native shell is on the long-term roadmap but is not in active development.
Where does my data live?¶
- On the cloud instance (
app.glassy.fyi): your notes, bookmarks, and uploads live on a managed SQLite database. Backups are daily and encrypted at rest. - On a self-hosted appliance: your data lives on your own machine in the
glassy-dataDocker volume. Nothing leaves the box unless you ship a backup off-machine.
You always export the same way regardless of where the data lives — Markdown and JSON, never a proprietary format.
Pricing & plans¶
How much does Glassy cost?¶
| Plan | Price | What you get |
|---|---|---|
| Free | $0 | Every ability the software has, 10 MB hosted storage, 2 Cloud Sync cycles/hour, no publishing |
| Pro | $17/month or $100/year | 200 MB hosted storage, 60 Cloud Sync cycles/hour, publishing, priority support |
| Clear | $80/month or $300/year | All of Pro (200 MB), every theme pack, the Clear community, the Pair bundled while active |
| Zero Reliance Pair | $79 one-time | Appliance ↔ your own instance; perpetual for beta/v1 buyers; included with Pro yearly and active Clear; permanent for the first 2,000 Clear members |
| AI packs | $10 / $20 / $50 (one-time) | 100k / 200k / 500k credits, never expire. No plan includes an AI allowance |
Founding membership is limited to the first 2,000 Clear members (any Clear plan). Founding members receive a permanent Pair grant and a member number, and Clear continues to sell after 2,000.
Existing grandfathered $120/year plans remain on the books until cancelled. Existing grandfathered $0 comp plans are not affected. The single source of truth for pricing is the www.glassy.fyi/pricing page.
Can I switch between monthly and yearly?¶
Yes — upgrade or downgrade from Settings → Billing at any time. Yearly is billed up front and credited on the switch. Monthly changes take effect on the next billing date.
Can I cancel?¶
Yes, from the same screen. Cancellation is immediate; we don't make you email support to leave. Your data is preserved for 30 days in case you change your mind, then permanently deleted. Export before cancelling if you want a copy.
What about a refund?¶
Yes — full refund within 14 days of purchase, no questions asked. Email [email protected] from the address on the account.
AI features¶
Does Glassy use my notes to train AI models?¶
No. Not for cloud AI, not for on-device AI, not for anything else. Your notes are never used as training data. Cloud AI requests are routed to providers under their standard terms; providers do not retain or learn from your prompts on the plans Glassy uses.
What's the difference between local AI and cloud AI?¶
- Local AI runs in your browser via WebGPU using open-weight models (Qwen 2.5, Whisper, MXBai embeddings). Free, no key, nothing uploaded. Latency depends on your hardware.
- Cloud AI runs on the provider you choose (Gemini, OpenAI, Anthropic) using your own BYOK key, or a credit pack you buy once. No plan includes an AI allowance. It is faster and more capable than the on-device models, and a pack costs credits when you use it.
Local AI is the default. Cloud AI is opt-in. You can mix them per-feature — local for grammar, cloud for a long summary — and switch the default in Settings → AI.
What is BYOK?¶
Bring Your Own Key. Paste your OpenAI, Anthropic, or Google API key in Settings → AI → Bring Your Own Key and Glassy routes cloud requests through your provider account, so the provider bills you directly.
What are the MCP rate limits?¶
| Tier | Tool calls per hour | KB queries per hour |
|---|---|---|
| Free | 120 | 30 |
| Pro | 1,200 | 300 |
The hourly window is rolling. Multiple free users behind the same NAT share the same IP-keyed rate limit on KB queries, so consider Pro if you collaborate on a shared network. MCP tool calls are keyed per-user, so each account gets its own quota.
Self-hosting¶
Can I self-host Glassy?¶
Yes. The self-hosted appliance is a single-user Docker container that runs Glassy on your own machine. Self-hosting unlocks:
- Live Obsidian vault sync (the server can reach
127.0.0.1:27124on the same machine) - Local Ollama for on-box AI
- Agent Gateway (OpenClaw, Hermes)
- Full data sovereignty
You'll need a free Glassy account — self-hosting is open to every account, Free included. Verification runs about every 30 days with the pairing token you minted; no membership is required. The full setup is in Self-Hosting Glassy; it takes about ten minutes on Linux, macOS, or Docker Desktop on Windows.
What's the difference between self-hosting and Clear?¶
Cloud (app.glassy.fyi) |
Self-hosted appliance | Clear community instance | |
|---|---|---|---|
| Audience | Public users | One person, their machine | The Clear membership community |
| Notes, AI, capture, Glassy Capture | Yes | Yes | Yes |
| Live Obsidian sync | No | Yes | No on the hosted Clear instance; a member can run a self-hosted appliance |
| Multi-user | No | No (single-owner by design) | Yes |
| Membership required | Free works | A free account is enough | Clear |
| Commerce / upgrade flow | Yes | Disabled | Clear-tier only |
Where do I get the Docker image?¶
From GitHub Container Registry:
Pull a released version tag (e.g. v2.58.0) — never :latest, which is the hosted build without self-host features. The full docker-compose.yml, .env.example, and the appliance mirror live in 0Reliance/glassy-selfhost.
Is the self-host repo private?¶
No — the appliance mirror 0Reliance/glassy-selfhost and the GHCR image are public; docker compose up -d pulls anonymously with no GitHub login.
The Glassy Capture extension¶
What is the Glassy Capture?¶
The Glassy Capture browser extension lets you capture web content — bookmarks, articles, screenshots, highlights, page elements — directly into your Glassy library. It runs in Chrome, Firefox, Edge, Opera, Brave, and Arc.
What version is current?¶
v2.20.1, released 2026-09-27 — a correctness release: MCP key-fetch errors classify on the HTTP status code, and the extension reads the public manifest rather than probing per feature. The prior v2.19.0 (2026-09-22) was the companion is a principal release, pairing with glassy-dash v2.40.0: the extension reads the public /api/capabilities manifest with a fail-closed client gate (the self-host/cloud split rule applied to the client), the AI Tools (MCP) section can issue this extension its own NAMED agent key (pinned identity "Companion") on self-host named-keys appliances so everything it saves is attributed, a 🔔 unread agent-notification badge rides the popup header (self-host only; the poller refuses to fetch on cloud), and the 🧠 KB tab surfaces the server's degraded-lane diagnostics. The previous v2.18.1 (2026-09-10) was the bridge reconnect hardening release: the offscreen-document SSE reconnect delay drops 5000ms → 1000ms (initial value + onopen reset), pairing with the server-side heartbeat fix (first ping immediate, heartbeats every 5s) that ships in glassy-dash v2.36.0-beta.28 to close the ~5s bridge subscribe-churn cycle on self-host (0Reliance/glassy#25-F2). The previous v2.18.0 (2026-08-27) was the bridge transport v2 release (Obsidian glass-pane follow-up): the SSE Obsidian bridge now carries raw markdown bodies + request headers (If-Match, Content-Type, Accept) and relays upstream response headers (ETag) back to the server, so vault writes (tap-to-toggle checkboxes, add-under-heading, daily-note append, push-to-vault) succeed over the extension bridge on containerized self-host where only the extension can reach Obsidian. The server gates transport v2 on the version the extension advertises at subscribe (&extv=); companions ≤ v2.17.1 keep the proven v1 (JSON bodies, read-only-over-bridge) semantics. The prior v2.17.1 was the save & sync reliability release (customer release-gate hardening): capture-rule pre-population fixed (Smart Save auto-fill fires again), transient server errors (5xx) no longer log you out, offline-queue pause/drop semantics fixed (auth failures keep queued saves until re-login), popup saves queue offline with a Queued for Sync state, host permissions cover all glassy.fyi subdomains, plus auth/ping timeouts and rate-limit-aware save-all-tabs. The prior v2.17.0 release fixed the save-card image preview — og:image fills the header with object-fit: cover, brand gradient fallback, conditional favicon img, and CSP img-src mirroring connect-src. See the Glassy Capture page for the full release notes.
Where do I download it?¶
From the latest GitHub release. The release page has both the .zip (Chrome / Edge / Opera / Brave / Arc) and the signed .xpi (Firefox 121+). Or open app.glassy.fyi/#/extension inside Glassy — the authenticated extension page always shows the live download link.
Does Glassy Capture work on my phone?¶
No. Browser extensions are a desktop feature. On mobile, save URLs through the share sheet using the PWA install, or paste into the Glassy dashboard directly.
Obsidian integration¶
Does Glassy replace Obsidian?¶
No — it's a complement. Glassy adds the things Obsidian intentionally doesn't ship: a clean web client, browser capture, semantic search across the vault, and local AI on top. Your vault stays on your disk; Glassy reads it via the Local REST API plugin.
Why doesn't live Obsidian sync work on the cloud?¶
A network limitation, not a bug. The cloud server at app.glassy.fyi runs on a remote VM and cannot reach 127.0.0.1 on your machine. Live sync requires the Glassy server to live on the same machine as Obsidian — which means self-hosting.
You can still import a vault ZIP on the cloud. Live bidirectional sync is the only feature that requires self-host.
How does the Obsidian Bridge work on Windows + WSL2 + Docker Desktop?¶
The Glassy Capture extension runs on the Windows host and proxies Obsidian traffic for the containerized Glassy server. The server pushes proxy requests via Server-Sent Events; the extension calls Obsidian on 127.0.0.1:27124 and returns the result. No WSL2 networking workarounds, no port forwarding. Full setup in the Obsidian Vault guide.
Security & privacy¶
Is my data encrypted?¶
- In transit: TLS 1.3 on every cloud endpoint. The self-hosted appliance uses whatever you put in front of it (Caddy, Cloudflare, Tailscale).
- At rest: Cloud database backups are encrypted (AES-256-GCM). The live database itself is not field-level encrypted; if that matters to your threat model, self-host.
- API keys: Your BYOK keys are encrypted in the database using
API_KEY_ENCRYPTION_KEY. - Obsidian: Glassy never sees your vault contents when using the Glassy Capture bridge — the extension holds the API token and returns only the result.
My authenticator code was correct and Glassy still rejected it¶
On v2.36.0-beta.42 and later this should not happen — see below for the older builds. Work through it in this order:
- Try the next code. Glassy accepts one 30-second step either side of the current one, so a code is good for roughly 90 seconds. If yours had a second left on the ring, submit the next one.
- Check your phone's clock, not just your reading of it. TOTP is derived from the time, so a device more than ~30 seconds out produces codes Glassy cannot match. Turn on automatic time sync. Google Authenticator also has its own correction tool under Settings → Time correction for codes.
- On a self-hosted appliance, check the server's clock too.
date -uinside the container host should match a trusted time source. A host minutes out will reject every code from every device, and re-enrolling 2FA will not help. - Only then re-enrol. Disabling 2FA clears your existing backup codes and re-enrolling issues a brand-new set of 10, shown once.
If you are on a build older than beta.42, the rejection may not be your fault at all. Those builds checked the exact current 30-second step only, so a correct code was refused whenever the boundary fell between you reading it and the server checking it — roughly every login landing in the back half of a step. It presented as an intermittent "Invalid verification code" that worked if you just waited. The fix is to upgrade, not to re-sync your authenticator. Full details on the Two-Factor Authentication page.
Can I tell whether an AI agent edited one of my notes?¶
Yes, since v2.36.0-beta.41. A note changed through the MCP server records
MCP agent as its last editor, so an agent's edit is distinguishable from
your own. Before that release it was not — an agent could rewrite a note and the
row looked exactly as if you had done it.
Publishing is deliberately not attributed this way. Toggling a note's public visibility (yours, or an administrator's moderation takedown) moves the flag without stamping an editor, so a takedown never makes an administrator look like the person who last wrote your note.
Which version should I pin when self-hosting?¶
The newest released version tag — currently v2.58.0. Never
:latest or :main: those are hosted builds and omit the self-host feature
flags, so pointing an appliance at them hides MCP, the Second Brain, Agent
connections and BYOK, and shows a "You are on the cloud" banner on your own
hardware.
One exception worth knowing: three versions in the changelog have no published
image and must never be pinned. v2.36.0-beta.41's tag push landed inside a
transient CI outage, and beta.42 contains all of its work plus the 2FA fix.
v2.39.0 was prepared as a release and deliberately not launched — its canvas and
bulk-ingest work shipped in v2.40.0. v2.40.1 was never tagged; its work shipped
in v2.40.2. Each header says so in the changelog itself, and CI now fails a build
that adds another untagged version silently. Pin a version the registry actually
has — docker pull is the fastest way to find out.
My self-hosted appliance shows a completely blank page¶
Upgrade to v2.40.2. Every earlier build decided "is this my own site?" from a
hardcoded origin allowlist, so an appliance reached on anything other than
localhost:3000 or 127.0.0.1:3001 refused to serve its own JavaScript and
CSS and rendered an empty <body>. The container is healthy and the HTML loads —
the 403s are on /assets/*.js in the browser's network tab, which is how you
confirm it.
It reaches custom APP_PORT values, LAN addresses, Tailscale hostnames and real
domains. The default install was never affected, which is why it went unnoticed for
so long: localhost:3000 happened to be in the allowlist.
If you cannot upgrade immediately, set CORS_ORIGINS (and APP_URL) to the exact
origin in your address bar — scheme, host and port. Full diagnosis, the one-command
check, and the multi-origin Tailscale/LAN example are in
Common Issues → Self-Hosted Appliance Issues.
Can I delete my account?¶
Yes. Settings → Account → Delete account permanently removes your data. The deletion is irreversible — there is no 30-day undo for account deletion (unlike subscription cancellation). Export first if you want a copy.
Does Glassy have a bug bounty?¶
Not yet. Report security issues to [email protected] and we'll respond within 48 hours. A formal bug bounty is on the post-beta roadmap.
Getting help¶
Where do I get help?¶
| Where | When to use it |
|---|---|
| docs.glassy.fyi | You're reading it. Reference docs, deep dives, troubleshooting. |
| learn.glassy.fyi | Video lessons and guided tours. Best for first-time setup. |
| In-app Help Center | Searchable answers, context-aware of the screen you're on. |
[email protected] |
Billing, account, anything not covered above. |
| GitHub Issues | Bug reports and feature requests. |
Is there a community?¶
Yes — a private Discord for the Clear membership, plus a public GitHub Discussions board for everything else. The Discord link lives in the footer of your Glassy dashboard.