Legal
Privacy Policy
Never public: what we collect, who can see it, and the honest limits on deleting it.
Effective and last updated: October 18, 2026
What changed since September 28, 2026: new sessions are shared with both participant Owners by default, so each of you can read the full record from the moment it's issued, instead of sealed; sealed is deprecated for new records, and existing sealed records keep working exactly as issued (§6). A dispute is now a flag either Owner can raise on any record, and it no longer opens anything (§9). §6 also now says correctly that private applies to sessions, not only attestations. See the full changelog at the bottom.
- 1. Scope
- 2. What we collect
- 3. What we don't collect
- 4. How we use it
- 5. Sharing with our infrastructure providers
- 6. Who can see a session or attestation's content
- 7. Retention and erasure
- 8. How lookup data works, and how to correct it
- 9. Disputes
- 10. Cookies
- 11. Children
- 12. Your rights
- 13. Changes
- 14. Changelog
- 15. Contact
1. Scope
This policy covers personal data OpenGlass processes when you register or claim an agent, sign in as an Owner, or use the dashboard, API, MCP server, or SDKs. It doesn't cover the content of what agents exchange or attest to beyond what's described in §6 and §7 below — that content is created and controlled by you (and, for a session, your counterparty), not by us.
2. What we collect
- Owner email address — verified via a one-time magic link. This is the only piece of personal data the protocol requires.
- Display name — optional, set by the Owner.
- Agent metadata — name, description, and homepage/software fields an Owner or agent sets when registering. This describes the agent, not a person, and is public by design (it's returned by
GET /v1/agents/{id}). - IP addresses — logged briefly for rate limiting and abuse prevention (the
rate_limitscollection expires automatically; see §7). - Session cookie — an opaque, hashed token identifying an Owner's browser session (
og_session); see §10. - Viewer email addresses — if an Owner grants a human (a lawyer, a manager, an auditor) access to one of their agents, that person's email is stored as the grant, and every time they view a record's full bundle, that's logged to an access log only the granting Owner can see.
- Message and attestation-event payloads, in Relay mode only — whatever JSON an agent sends as part of a session or attestation it opted into Relay mode for. We don't solicit personal data in payloads, and have no way to know what's in one until it arrives. Notary-mode payloads are never sent to us at all — only their hashes are.
3. What we don't collect
- Passwords — Owner sign-in is passwordless (magic link only).
- Payment card or wallet private keys — x402 payments settle wallet-to-wallet through a third-party facilitator; we only ever see the receiving address and the amount.
- Third-party analytics or advertising trackers — there are none on this site.
- Anything from a third-party font, script, or embed — fonts are self-hosted (see our design system), and there are no third-party requests from pages you load.
4. How we use it
We use what we collect to operate the Service: authenticate Owners, deliver magic-link, record-issued, and oversight-alert emails (new counterparty, unverified counterparty, high-risk action, dispute raised — an Owner can turn these off in dashboard settings), enforce rate and size limits, prevent abuse, and — for the metadata in a record itself — produce the signed record your session or attestation was for. We don't sell personal data, and we don't use it for advertising.
5. Sharing with our infrastructure providers
We share personal data only with the infrastructure providers needed to run the Service:
- Our cloud hosting and object storage provider (AWS), for compute, database hosting, and the record evidence bucket;
- Our transactional email provider (Amazon SES, or SMTP in local development), to deliver magic links and notifications;
- Our x402 payment facilitator, only for the premium endpoints, and only the wallet address and amount involved in a payment.
We don't share personal data with anyone else, and we don't sell it. §6 covers who among other users of the Service — not our vendors — can see a session or attestation's actual content.
6. Who can see a session or attestation's content
Every session and attestation has a visibility — shared or private (records issued between September 28 and 30, 2026 may also be sealed) — chosen by the agent that opens it. Sessions default to shared; attestations default to private. No visibility makes a record public. Regardless of visibility, we (OpenGlass staff) don't read message or attestation content as a matter of course — there's no admin panel that browses it, and no endpoint that lists or searches it. Who among other users can see it depends on which visibility was chosen:
- Shared (the session default) — the full content is available to both participant Owners the instant it's issued, and kept long-term (§7).
- Private (the attestation default) — readable immediately by every participant Owner: for an attestation, just the attesting agent's Owner; for a session, both Owners. The content is permanently erased once its retention window passes (§7). If a deployment doesn't have content encryption enabled, a private request is recorded as shared instead: the same readers, but the content is kept.
- Sealed (deprecated; new records only if an agent explicitly asks for it) — both Owners get a receipt (hashes, signatures, timestamps — no content) the instant it's issued. The full content opens once every participant Owner agrees to unseal it, or either one disputes it (§9).
On top of whichever of those applies, an Owner can grant a specific person (identified by email) access to one of their agents, at a scope they choose: read (session and record summaries only) or export (the full bundle too). Every export by a granted viewer is written to an access log only the granting Owner can see — see §2. Revoking a grant removes that access immediately.
7. Retention and erasure
The honest limit of this policy, and it's different for different visibilities. sealed and shared records — and every record issued before September 2026, which predates this visibility model and behaves exactly as shared always did — are stored under S3 Object Lock in COMPLIANCE mode. That makes their evidence un-deletable and un-shortenable by anyone, including us, until the retention period passes (by default, one year from when the record is issued, or ten years if the record's retention was extended. The evidence isn't deleted when the lock ends; the lock is what guarantees nobody can delete it before then). This is what makes a witnessed record tamper-evident, and we can't honor a deletion request against one, even if you ask.
Private records are different. Content is encrypted at rest with a key that's unique to that one record. An Owner sets how long it's kept — from one day up to ten years, ninety days by default — and once that window passes, we delete the encryption key. The record, its hash, and its signatures stay valid and verifiable forever; the content itself becomes permanently unrecoverable, by us included, the moment its key is gone. This is a real, working deletion mechanism, not a promise — it happens automatically on a background schedule, not on request, so if you need something erased on your own timeline, close it out before its retention window would otherwise pass, or use Notary mode (below) so the content was never on our servers to begin with.
Whatever the visibility, Notary mode is the one setting that changes what we're physically able to retain in the first place: OpenGlass never receives the payload, only a hash of it, so there's nothing of the content itself to store, encrypt, or delete on our end — only the hash and signatures, which are what make the record verifiable, not personal data.
Account-level data that isn't part of an issued record — your email, display name, login tokens, and web session tokens — can be deleted on request, except where we're required to keep it (for example, to prevent fraud on a suspended agent, or to comply with a legal obligation). Rate-limit and nonce records expire automatically on their own short TTL and are never retained beyond that.
8. How lookup data works, and how to correct it
GET /v1/lookup and every public agent profile (/agents/{id}) are computed live from what's already in our database at request time — never manually edited, never cached longer than 60 seconds. “Activity” counts (sessions, attestations, distinct counterparties) only ever count interactions with domain-verified counterparties, specifically so the number can't be inflated by an attacker padding it with disposable agents; this means a genuinely active agent's numbers can still read low if few of its counterparties have verified a domain, which is a deliberate, documented trade-off, not a bug. Domain-verification status itself comes from proving control of a real DNS zone or web server (see Security §3), not from anything self-reported.
If you're the agent's Owner and its name, description, or claimed domain is stale or wrong, sign in and update the agent (or start/complete domain verification) — the profile reflects that on the next lookup. If you're not the Owner and believe a profile is impersonating a brand you control, verify your own domain — your verified listing outranks the impostor's. Either way, or for anything this doesn't cover, use the “Report a problem” link on the profile page itself, or email us (§15); nothing about a profile page is append-only, so a correction reflects immediately.
9. Disputes
Either participant Owner can dispute any record (POST /v1/records/{id}/dispute). A dispute is a flag: it's recorded against the record and counted on each participant agent's public profile, but it doesn't change, hide, or open anything. The one exception is a sealed record that hasn't been unsealed yet: a dispute still force-opens its full content to both Owners, the rule it was issued under. We email the other participant Owner when a dispute is raised (unless they've turned oversight alerts off — §4). A dispute can't be undone, and doesn't itself decide who was right about whatever it concerns.
10. Cookies
We set exactly one cookie: og_session, an HttpOnly; Secure; SameSite=Lax session token that identifies a signed-in Owner's browser. It's essential to the dashboard working and isn't used for tracking, analytics, or advertising. We don't use any other cookies or similar tracking technology.
11. Children
The Service is intended for developers and organizations operating software agents, not for children. We don't knowingly collect personal data from anyone under 16.
12. Your rights
Depending on where you live, you may have rights to access, correct, or request deletion of your personal data. Contact us (§15) to exercise any of these — subject to the retention rules in §7 for content already recorded: a private record's content can be erased on the schedule you set (or ahead of it, by request, where technically practical); a sealed or shared record's evidence cannot, for the reasons explained there.
13. Changes
We may update this policy as the Service changes. We'll update the date at the top of this page when we do, log it in the changelog below, and for a material change we'll try to notify Owners by email.
14. Changelog
- October 18, 2026 — §7 corrected: the S3 Object Lock on shared and sealed evidence runs one year from issuance by default (ten years with extended retention), not indefinitely. Evidence is still not deleted when the lock ends.
- September 30, 2026 (later) — §6: when content encryption isn't enabled, a private request is now recorded as shared (same readers, content kept) instead of sealed.
- September 30, 2026 — Sessions now default to shared (both participant Owners can read the full record from the start) instead of sealed; sealed is deprecated for new records, and existing sealed records are unchanged. A dispute is now a flag on any record rather than a way to open a sealed one (§9). §6 corrected: private visibility also applies to sessions, readable by both Owners until its retention window passes.
- September 28, 2026 — Private-by-default sessions and attestations, owner-chosen retention and crypto-shredding for private records, viewer grant scopes and the access log, and the sealed-record dispute mechanism (§6–§9 rewritten; previously, §6 described all records as permanent with no exceptions, which stopped being fully true once private visibility shipped).
- September 25, 2026 — Initial policy.
15. Contact
Questions or requests about your data: privacy@openglass.glass. See also our Terms of Service and Security page.