Privacy policy

Last updated October 5, 2026

This policy explains what personal information Kube Technologies Inc. ("Emissar", "we") collects through emissar.ai and Emissar's public A2A agent, why, and what you can ask us to do with it.

What we collect

When you request early access or apply as a design partner

Your name, work email, company, role, which side of agent-to-agent communication you're on, which program you're applying to, anything you write in the form, and the approximate country the request came from. If an agent submits the request for you over A2A, we also store the name the agent gives for itself, or its user agent string if it gives none.

When you use the contact form

The topic you choose, your name, email, company, your message, and the approximate country the request came from.

When an agent sends a message to our A2A agent

The message content, the task, context, and message identifiers, and our agent's replies. If an early access request is waiting for more details, the details sent so far are kept with the task, which can include the calling agent's name or user agent string.

When you use the Agent Card validator

The domain or URL you enter, or the Agent Card or AI Catalog JSON you paste, and the result of the checks, which includes a copy of the card or catalog that was checked. The result is stored under a random identifier so you can share a link to it; anyone with that link can open it until it's deleted. When you enter a domain or URL, we also keep its host name briefly to limit how often any one site is checked. Don't paste cards or catalogs that contain secrets. To check signatures, the validator fetches the key set the card points to; key sets aren't stored.

When you use the A2A endpoint tester

The domain or card URL you enter, the endpoint URL the card names, and the test trace: timings and the result of each check. The agent's replies aren't kept; the trace records only their shape. The trace is stored under a random identifier so you can share a link to it; anyone with that link can open it until it's deleted. We also keep the host names of the card and the endpoint briefly to limit how often any one site is tested. The tester sends the agent only its own fixed test message and follow-up calls, never anything you type.

When an agent talks to the Front Door demo

The messages the agent sends to demo.frontdoor.emissar.ai, the task and its states, the demo's replies, which contain only made-up data, and the calling agent's declared name and user agent. If the agent signs its request, we also keep the result of checking that signature: the address of the key directory the agent publishes and the fingerprint of the key it used. We also keep our assessment of the calling agent: whether it signed, which known agent provider it belongs to, and whether it was allowed. We keep this with the task and as an exchange record. To check a signature, the demo fetches the agent's public keys from the address the agent names; those keys are held in memory for at most an hour and aren't stored. Don't send real personal or business data to the demo.

Personal assistants, such as ChatGPT, can also reach the demo through its MCP endpoint, demo.frontdoor.emissar.ai/mcp. A request sent there is kept exactly as above, and it can say who the request is for, as the assistant was told it: a name, email address, phone number or account reference. Don't send real ones to the demo. When a request comes from the network addresses OpenAI publishes for ChatGPT, we record that it came from ChatGPT, and we keep with the request a one-way keyed hash of the anonymized user identifier OpenAI sends (openai/subject), different for each business, so that only the same ChatGPT user can read, continue or cancel it. A hash of the same identifier limits how often one person can send requests; the rate limiter holds that count for about a minute. We don't give the hash to the business or keep it in exchange records.

If an assistant asks to be told when a request changes, we keep the web address it gives for those updates, an encrypted copy of the secret that signs them, and when each update was sent and, if one failed, the kind of failure. Before the first update we ask that address to confirm it wants them, and we remember a one-way hash of an address that confirmed for 24 hours.

An agent calling the demo's A2A endpoint can also ask to be sent each change of its task (A2A push notifications). We keep the web address it gives, an encrypted copy of the token and credentials it asks us to send with each update, which we never show back, and when each update was sent and, if one failed, the kind of failure.

An agent can also ask the demo for a signed receipt of a finished task (Emissar Receipt). A receipt holds identifiers, times, digests and signatures, not the content of the messages; who a request is for appears in it only as a salted digest. We keep the receipt next to the exchange record, and an index of receipts: their identifiers and digests, the key that signed them, each one's place in the chain of the demo's receipts, and the conversation identifier the task belongs to. When a receipt is deleted, its index entry stays, without the conversation identifier, so the chain can still be checked.

A business on Front Door can require a mandate for some requests (Emissar Mandate): a credential from a person or company that says what an agent may do for them. For each mandate it accepts, we keep its issuer and identifier, the time and the amount, and with the task and exchange record what was checked and what the mandate allowed, including the details about the person the agent chose to disclose. We never keep the mandate itself. The demo doesn't require mandates.

Personal agents can also talk with the demo over PACT, the Personal Agent Consent & Trust Protocol, at frontdoor.emissar.ai. The agent proves which agent platform it is with a token it signs, which we check against the keys the platform publishes; we keep the platform's address and the fingerprint of its key with each request, as for agents that sign their requests, and hold its published keys in memory for at most an hour. Each conversation is kept under a one-way keyed hash of the platform and the user number it sends, never the number itself, with what the conversation has collected so far (the service asked for and its details, which can include who a request is for) and our replies, so that a repeated message gets the same answer. A request the conversation sends is kept like any other request to the demo.

For an agent that signs its requests, we also count, per day and per business it contacts, how many tasks it created, how many were completed or rejected by the limits the business set in Front Door, how many reviews of its tasks were approved or declined, and how many times the business reported it. The counts are keyed by the address of the agent's key directory and hold no IP addresses, message content or names. A business can also keep a list of agents it blocks or allows, by the same address.

A business that uses Front Door can connect its own Zendesk account. A request that needs a person at that business is then also written, with the exchange, as a ticket in that business's Zendesk, where that business decides what happens to it. Zendesk acts for that business, not for Emissar. The demo has no Zendesk connected.

When you look something up in Resolve

Resolve, at resolve.emissar.ai, answers lookups of domain names with the Agent Card that answers for them (Emissar Resolve). Its records are about domains whose websites publish an Agent Card at the standard address, as EmissarBot found them: the domain, the card's address and when it was last seen. We don't log lookups. To limit how often one client can look things up, the rate limiter counts requests per IP address (per /64 network for IPv6) for about a minute. If you ask us through the contact form to remove a domain, or report a wrong record, Resolve keeps the reference of your contact form message and our reviewers' notes, never your contact details. Businesses can't claim records yet; this policy will say what a claim stores before claims open.

When you use the agent-readiness scanner

The domain you enter, the score, and the findings for each file checked. The files themselves, a copy of any Agent Card, and the contact addresses in the site's security.txt aren't kept. The result is stored under a random identifier so you can share a link to it; anyone with that link can open it until it's deleted. We also keep the host name briefly to limit how often any one site is scanned.

When you use the AI agent signature check

When you create a test link, we store a random identifier for it and when it was created. For each request that reaches the link, usually from an AI agent you sent there, we store the time, the method, the User-Agent the request sent, its Signature-Agent header and the result of checking its signature: the host that publishes the signing key, the key's thumbprint, the algorithm and which parts of the request it covered. We keep up to 20 requests per link. We don't store IP addresses, other headers or request bodies. Anyone with the link's identifier can read its results until it expires. To check a signature, we fetch the key directory the request names; key directories aren't stored beyond a short cache.

When you use our tools through ChatGPT

The Agent Card validator, the agent-readiness scanner, the llms.txt and Agent Card generators, and a search of our agent directory can also be used from ChatGPT, OpenAI's assistant, which calls them through our MCP server at emissar.ai/mcp. We receive what ChatGPT sends each tool: the domain, URL or Agent Card JSON to check; the details you give for a file to generate, such as your site's name and the titles and addresses of its pages, or your agent's name, endpoint and skills; or the company name or domain to look up. The validator and the scanner then store exactly what they store when you use them on this site, as described above, and their results get the same shareable links. The generators and the directory search store nothing.

ChatGPT also attaches information to each call. We read one item: an anonymized user identifier (openai/subject) that OpenAI provides so tools can limit how often one person uses them. We turn it into a one-way hash and use that only to allow 20 tool calls a minute per person; the count is held by Cloudflare's rate limiter for about a minute, and we store nothing else about it. We rely on that identifier only for requests from the network addresses OpenAI publishes for ChatGPT; other requests are counted per IP address, together with that address's use of the tools on this site. We don't read or store the other information ChatGPT may send, such as your language, approximate location, browser details, or anonymized conversation and organization identifiers. We also count tool calls each day, separately for ChatGPT and for other callers, to cap each total; those counts hold no personal information.

The results our tools return go back to OpenAI, which shows them in your conversation. How OpenAI handles your conversations is governed by OpenAI's privacy policy, not this one.

When you visit the site

Our hosting provider, Cloudflare, processes IP addresses and request details to deliver the site and protect it from abuse. If we enable Cloudflare Web Analytics, it records aggregate page views without cookies. If the anti-spam check on our forms is enabled, Cloudflare Turnstile processes browser signals to distinguish people from automated submissions. The site sets no advertising or tracking cookies.

Why we use it

We don't sell personal information, and we don't use it for advertising.

Registering someone else

Only submit another person's details, directly or through an agent, if they've asked you to. If you're contacted about a registration you didn't request, send a privacy request through our contact form and we'll delete it.

Who we share it with

Cloudflare, Inc. hosts the site, database and key-value store and acts as our service provider. We may disclose information if the law requires it. Any new service provider is listed in the trust center before it handles your data.

When you use our tools from ChatGPT, their results go to OpenAI, which operates ChatGPT, so it can show them to you. OpenAI acts for you there, not as our service provider.

Where it's stored

Cloudflare operates a global network, so your information may be processed or stored outside your country, including in the United States. Where that happens, it's protected by our agreements with Cloudflare, and it may be accessible to authorities in those countries under their laws.

How long we keep it

Your choices and rights

You can ask to see, correct, or delete the personal information we hold about you, or withdraw your consent to our using it, by sending a privacy request through our contact form. We'll respond within 30 days. Depending on where you live, you may have additional rights, including under Canada's PIPEDA and the EU and UK GDPR, and you can complain to your privacy regulator; in Canada, that's the Office of the Privacy Commissioner of Canada.

Children

Emissar is a business service and isn't directed at anyone under 16. We don't knowingly collect their information.

Changes

We'll post changes here and update the date at the top. For significant changes affecting information we already hold, we'll email people on the early access list.

Contact

Kube Technologies Inc., through our contact form.