Privacy policy
What personal data Nessie processes, why, and what you can ask us to do with it.
This is a draft. It describes what the software actually does today, but it has not been reviewed by a lawyer and Nessie has not launched.
1. Self-hosted or Nessie Cloud — this matters first
Nessie comes in two forms, and they are completely different for privacy. Work out which one you are reading about before you read anything else.
- Self-hosted. You run Nessie on your own infrastructure. Your organization is the controller of everything in it. UnlikeOtherAI has no access to your instance, receives nothing from it, and processes no personal data on your behalf. This policy describes the software’s behavior so you can write your own; it does not make us a processor for you.
- Nessie Cloud. We run it. For the personal data your organization puts into it we act as a processor, on your instructions; your organization is the controller. For the small amount of data we handle in our own right — account administration, billing, support correspondence, this website — we are the controller. The rest of this policy is about Nessie Cloud.
One caveat on the self-hosted case. Nessie is software that talks to other services, so your instance will reach out to whatever you configure it to reach: a model provider, a mail provider, a search or browser service. Those are your relationships, and they are outside our control and outside this policy.
2. Who we are
UnlikeOtherAI s.r.o., a company registered in the Czech Republic. Contact us about anything on this page at hello@nessie.works.
Missing: the company registration number (IČO) and the registered office address.
Missing: whether a data protection officer has been appointed, and their contact details if so. Nobody is named as DPO today.
Missing: the effective date of this policy.
3. What personal data we process, and where it comes from
Identity, which comes from UnlikeOtherAI SSO
Nessie Cloud has no passwords and no sign-up form. You sign in through UnlikeOtherAI SSO, which is the authority for who you are, which organization you belong to and which teams you are in. Nessie does not create accounts, does not let you set a password, and refuses a request to change your profile picture because your picture lives in UnlikeOtherAI. Your name, your email address and your profile are changed there.
Nessie does keep a copy of some of it, and we would rather say so than claim otherwise. Its database holds your stable UnlikeOtherAI subject identifier, and beside it a cached mirror of your email address, display name and picture URL, so a hundred rows of chat can render a name without a hundred lookups. That mirror is explicitly non-authoritative: nothing invents a value, nothing writes your changes back to it, and it is re-synced from the identity provider’s verified claims every time you sign in, switch team or refresh your session. Your organization’s live roster is read from UnlikeOtherAI at the time it is shown, through short-lived caches that are never allowed to decide who may see what. Removing the mirrored columns altogether is planned work, not something already done.
We also keep, durably: your organization’s and teams’ UnlikeOtherAI identifiers, your membership and role inside them, and an encrypted UnlikeOtherAI refresh credential plus local session records, so you can stay signed in and so a sign-out can revoke every outstanding token at once.
What you and your colleagues put into Nessie
Messages, threads and direct messages; files and attachments; knowledge-base documents; tasks, projects and channels; agent names, roles and instructions; your status and preferences. Any of this can contain personal data about you, your colleagues, or third parties such as your customers — that is entirely up to what your organization writes.
Data your agents encounter while working
This is the part that deserves the most attention, because an agent reaches further than a chat app.
- Connected mailboxes. If someone connects a mailbox — their own, or a team’s shared address — an agent can read it and send from it on their behalf. Mail from a connected account is read live from your provider: Nessie holds the credential and an audit record, does not import the messages, and leaves no copied correspondence behind when you disconnect. The exception is a mailbox you connect to the Clients inbox, such as
sales@orsupport@: there you are asking for the conversations to be kept with each customer’s record, so Nessie copies that mailbox’s messages in, with a bounded amount of earlier history. Either way, while an agent works on a message, that message’s content is in Nessie and is sent to a model. Everyone who writes to that mailbox is affected by this, and they never agreed to it. - Hosted agent mailboxes. A deployment can instead give an agent its own address. Mail to that address is stored in Nessie: the message is parsed, its attachments are stored, and the raw original is deleted from the inbound bucket after a configurable period (30 days unless the operator changes it).
- The web, and browsers. Agents can fetch pages, run searches and drive a real browser session. A person can lend an agent a private browser scoped to named sites for at most fifteen minutes. Nessie also keeps a small screenshot of each tab an agent’s browser was left on, so the product can show it — which means those images can contain the content of a signed-in page.
- Connected tools. MCP servers, calendars and other integrations you connect return data into the agent’s context, and that data goes to the model with everything else.
Records Nessie keeps about what happened
- An audit trail. Every control-plane action is recorded with who did it (person, agent or service), what they did, to what, whether it succeeded or was refused and why, a request id, and — when available — the IP address and browser user-agent. It is append-only and linked into a per-organization hash chain, so tampering is detectable. Secrets, credentials and full request bodies are deliberately kept out of it.
- A token-cost ledger. Every model call is recorded with the provider, the model, token counts and an estimated cost, attributed to an organization, team, project, channel, agent and person.
- Storage accounting, so per-organization and per-person storage use is always known.
- Session and device records: hashed session and refresh tokens, expiry, client type and user-agent, and — if you use the mobile or desktop apps — a push token.
- Fault diagnostics. The hosted app reports uncaught JavaScript faults with a standard error class and build-file coordinates. It does not send the error message, stack contents, page URL, conversation content, or Nessie user or organization identifiers. iOS and Android releases also use native crash reporting, which collects crash traces and device and installation metadata.
Data derived from your content
To let agents recall things and to make search work, Nessie turns text into numeric vectors (embeddings) and stores them in its database. This covers agent memory, knowledge-base content and your search queries themselves. Producing a vector means sending the text to an embedding provider. If no embedding provider is configured, recall and search fall back to plain keyword matching.
This website
See section 9 for preference cookies, analytics and the local country lookup used for the homepage headline.
4. Why we process it, and on what lawful basis
| Why | Basis |
|---|---|
| Running Nessie Cloud for your organization — storing and delivering content, running agents | Performance of our contract with your organization. We act on its instructions. |
| Signing you in and keeping you signed in | Performance of the contract. |
| The audit trail, approval gates and tenant isolation | Our legitimate interest, and your organization’s, in a secure and accountable service. |
| Diagnosing app faults and crashes | Our legitimate interest in maintaining a working and secure service. |
| The token and storage ledgers, and billing | Performance of the contract, and our legal obligation to keep accounting records. |
| Support you ask us for | Performance of the contract, or our legitimate interest in answering you. |
| Analytics cookies on this website | Your consent, which you give or refuse in the cookie bar and can change at any time. |
Where your organization is the controller, the lawful basis for putting a particular person’s data into Nessie — a customer’s email, for instance — is your organization’s to establish, not ours.
We do not sell personal data, and we do not use your content to advertise to you.
5. Who else sees it
Model providers — the important one
When an agent runs, the content of the conversation goes to a language model. That means the messages, the relevant files, the mail it is working on and the results of the tools it called leave Nessie and reach the model provider your deployment is configured with. There is no way to run an agent without this happening.
Which provider that is depends on configuration. Nessie can talk to a small, fixed set of providers named in its code, or to any OpenAI-compatible endpoint an operator names, and individual people can connect their own AI subscriptions so their agents run on an account they already pay for. In Nessie Cloud, calls are routed through a gateway operated by UnlikeOtherAI, which passes them to the upstream provider along with signed information identifying the organization, team, person, agent and run the call came from. Web search and deep research go through the same gateway.
Nessie Cloud uses several inference providers, for chat and for embeddings, and picks between them for cost and quality. Some of them are outside the EU. An organization will be able to choose in Admin which providers its agents may use: Western providers only, European providers only, Chinese providers only, or no preference, in which case Nessie picks the most efficient provider for each job.
Missing, and required before launch: the providers in each group, whether any of them may use traffic for training, and the date the regional choice is available in Admin.
Other people we rely on
- Hosting — European hosting providers such as Scaleway and Hetzner, chosen service by service. See section 6.
- Identity — UnlikeOtherAI SSO, which holds your account, profile and organization membership.
- Payments — your subscription and statement are handled by UnlikeOtherAI, and card payments are processed by Stripe. Nessie itself stores no card details, subscription or invoice.
- The services a feature needs. Hosted agent mailboxes send and receive through Amazon SES. Agents’ telephone numbers, calls and text messages run through Twilio. Facebook and Instagram messages and comments arrive through Meta’s official API. Cloud browser sessions run on Browserbase. Voice calls to your assistant in the app open a direct audio connection between your device and Google; dictated messages are transcribed by Google Speech-to-Text through our gateway. Agent memory is kept by remember.ninja, a memory service we operate ourselves. Meeting links are minted with the provider your organization chose — Google Meet, Jitsi or Microsoft Teams. Mobile notifications go through Apple and Google’s push services, carrying an internal reference rather than message content.
- Fault reporting. Sanitized hosted-app JavaScript errors go to Sentry's EU data region. Native iOS and Android crash reports go to Google Firebase Crashlytics. These providers may process network and device metadata needed to deliver and group reports. We do not deliberately attach Nessie conversation content to those reports.
- Usage measurement. The Nessie apps count, per day, which areas are opened and whether a few actions succeed, with no content attached; the country is read from the connection and discarded, and the daily totals go to Google Analytics. You can switch this off under Your settings → Profile → Help improve Nessie. To choose your language on first visit, the app asks GeoJS for the country of your connection.
- Anything you connect yourself — your mail provider, your MCP servers, your own AI accounts, and services such as HubSpot, Mailchimp, LinkedIn or Xero. Those are your relationships and your providers’ policies apply.
Missing: a proper sub-processor list — every processor by legal name, what it does, where it processes data, and a way to be told before we add one. The list above is based on the current implementation, not a maintained register.
We also disclose personal data where the law requires it, and to professional advisors under a duty of confidence.
6. Where your data is, and transfers out of the EU
Nessie Cloud runs on European hosting providers — Scaleway, Hetzner and others. We pick the best service each of them offers, so different parts of the product may run with different providers, all of them in Europe.
Your content does not stay inside that boundary in one important case: when an agent runs, the request goes to a model provider, and that provider may process it outside the EU. The same is true of search, of browser sessions, of voice calls, and of anything you connect yourself. Self-hosting puts the storage under your control but does not by itself change this — the model call still leaves your building.
Missing: the transfer mechanism relied on for each non-EU processor — standard contractual clauses, an adequacy decision, or something else — and the transfer impact assessment behind it.
7. How long we keep it
Honestly: Nessie has no automatic retention or deletion schedule. Content stays until somebody deletes it. The audit trail is deliberately append-only and is not deleted at all today, because the whole point of a tamper-evident log is that entries cannot quietly disappear. There is no self-service data export and no self-service organization deletion in the product; when you ask us to export or erase, we do it by hand.
The exceptions we can point to in the code:
- Raw inbound email for hosted agent mailboxes is deleted from the storage bucket after a configurable period, 30 days by default, once the message has been imported.
- A temporary private browser grant expires after at most fifteen minutes.
- Identity caches are held in memory only and expire in seconds or minutes; they are never a durable store.
- Firebase says Crashlytics keeps crash traces and associated installation identifiers for 90 days before beginning removal. Sentry's event retention follows the plan configured for our EU organization.
- Disconnecting a connected mailbox leaves no copied correspondence behind, because none was kept. Mail from a mailbox connected to the Clients inbox stays as conversation history until it is deleted.
Missing: actual retention periods for content, audit entries, ledger entries, session records and backups, and a period after an account or organisation closes. We will not publish numbers the software does not enforce.
8. How it is protected
Concretely, and only things that exist in the code:
- Secrets never sit in the database in the clear. Customer secrets go to a dedicated vault; with no vault configured Nessie refuses to save one rather than falling back to plaintext. Personal AI subscription credentials go to a second, separate vault, so an identity scoped to one cannot read the other. Refresh credentials, connector tokens and push keys are stored as AES-256-GCM envelopes under a versioned key ring that can be rotated.
- Secret material is kept away from models. An agent may know a secret exists and be allowed to use it, but the value must never enter a prompt, a tool argument, a tool result, memory, embeddings, logs or a notification. An agent can never be granted permission to reveal one.
- A scanner refuses messages containing credentials both in the composer and again at the server, and can retroactively scrub a credential already posted — including from the agent memory taken from that message.
- The audit trail is tamper-evident, chained per organization with SHA-256 and verifiable after the fact.
- Agents only see what they were given, and what an agent read constrains who may read its answer, so material from a private source cannot be laundered into a public room.
- Outbound requests are IP-pinned, re-validated on every redirect, so a model- or user-supplied address cannot be redirected at internal infrastructure.
- Location metadata is stripped from uploaded photos (EXIF and GPS) at the single point where files are stored, unless an organization turns that off.
- Everything is encrypted in transit, and access is scoped by role at organization, team and project level.
No security is perfect. If you find a problem, please tell us at hello@nessie.works.
Missing: whether backups are encrypted and where they are held, and our breach notification commitment — how quickly we tell a customer after we become aware of a personal data breach.
9. Cookies and this website
To choose the homepage headline, our server checks the country of your connection’s IP address against a local database. No IP address is sent to an external geolocation service. The lookup result is not stored in your browser. This product includes GeoLite2 data created by MaxMind, available from MaxMind, under the CC BY-SA 4.0 license.
This is all of it:
- Your cookie choice is stored in a first-party cookie named
nessie-cookie-consent, set for a year onnessie.worksand its subdomains so that answering once is enough. It holds one value — whether you allowed analytics — and no identifier. A copy is kept in your browser’s local storage as well, in case cookies are blocked. No server reads either. - A preference cookie,
nessie-device-colour, remembers which color you picked for the computer on the homepage. It is first-party, lasts a year, and contains a color name. - Analytics are off unless you switch them on. The bar offers the choice, we remember your answer, and refusing costs you nothing. Our analytics tool is Google Analytics, and on this website it runs only after you allow it.
Without your permission there is no tracking script, no advertising pixel and no third-party tag of any kind. You can reopen the bar and change your mind from the cookie link in the footer. The usage counts the Nessie apps send are described in section 5.
Missing: what Google Analytics stores for this website and for how long.
Signing in to the product sets cookies and stores tokens that are strictly necessary to keep you signed in. They are not optional, and they are not used for tracking.
10. Your rights
If the GDPR applies to you, you can ask us to:
- tell you what personal data we hold about you, and give you a copy;
- correct anything that is wrong;
- delete it;
- restrict or object to how we use it, including anything we do on the basis of legitimate interests;
- port it to another service in a machine-readable form;
- withdraw consent where we relied on it, which for us means analytics cookies.
Write to hello@nessie.works. We will respond within one month.
Two honest caveats. First, if your organization uses Nessie Cloud, your organization is the controller of what is inside it — so for your messages and files we will normally pass your request to them and act on their instruction. Ask them directly and you will get an answer faster. Second, your account itself lives in UnlikeOtherAI SSO, so a request about your name, email address or profile is really a request to that service; we will point you there.
Nessie does not make automated decisions with legal or similarly significant effects about you. Agents produce drafts, suggestions and actions; what an agent may do without a person approving it is a setting your organization controls.
You can also complain to a data protection supervisory authority — in the Czech Republic, the Office for Personal Data Protection, or the authority in the EU country where you live or work. We would rather you came to us first.
11. Children
Nessie is a tool for organizations and is not meant for children. We do not knowingly process the personal data of anyone under 16 through it, and we do not aim any part of it at children. If you believe a child’s data has ended up in Nessie Cloud, tell us and we will remove it.
12. Changes to this policy
We will update this page as the product changes — and it will change, because several sections above say plainly that something is missing. When a change materially affects you, we will say so rather than quietly editing the page, and the updated version will carry its date.
Missing: how we notify customers of a material change, and whether earlier versions of this policy will stay available.
13. Contact
hello@nessie.works, for privacy questions, rights requests and anything else on this page.
Missing: an EU representative under Article 27, if one is required and appointed. None is appointed today.