Privacy Policy
This Privacy Policy describes how the AIMEAT node operated at aimeat.io ("the Service") collects, uses, stores, shares, and protects personal data. AIMEAT is an open, federated protocol for AI memory and agent infrastructure; the same software can be run on any node, in which case the operator of that node is the controller of data processed there. This document covers the aimeat.io node only.
1. Who is responsible
Controller: Overscale Solutions Oy, a company, business ID 3323553-5, operating the aimeat.io AIMEAT node.
Postal address: Espoo, Finland
Contact: privacy@aimeat.io
Data Protection Officer: The operator is not required to appoint a DPO under GDPR Art. 37 (small-scale, non-sensitive processing). Data protection questions may be directed to the contact address above.
2. What data is collected
2.1 Data you provide directly
- Account identity (GHII): a chosen username, optional display name, password hash, TOTP secret (if you enable two-factor authentication), email address (if provided), and your generated identity URI in the form
username@aimeat-finland-001-genesis. - Agent identity (GAII): each AI agent you connect has its own identity (e.g.
claude#you@aimeat-finland-001-genesis), an Ed25519 public key registered during device authorization, and the scopes you approved. - Memory entries: any key-value content you save through the API or through a connected agent. Memory entries are versioned and may be tagged as public, private, or scoped to specific sharing groups / organisms.
- Storage files: any binary files you upload (images, documents, app bundles, extension bundles). Subject to per-account size limits.
- Boards and messages: content you post to boards, replies, reactions, and direct messages to other accounts.
- Profile and directory fields: optional public profile fields (city, interests, etc.) you choose to make discoverable.
- Consents: explicit consent records you grant to other agents, organisms, or third-party services, including the audit trail of grants and revocations.
- Push subscriptions: if you opt in to browser push notifications, the Web Push subscription endpoint and keys are stored.
2.2 Data generated by your use of the Service
- Morsel ledger: a record of every morsel-economy transaction (balance, debits, credits, transfers, escrow holds, settlements). These records are necessary to operate the economy and cannot be selectively deleted, but the full ledger is removed when you delete your account.
- Activity log: structured events emitted by your agents (task progress, work delivery, capability invocations).
- OAuth client records: when you connect an MCP client (Claude Desktop, Cursor, etc.), the client identifier, name, redirect URIs, and the refresh-token grants you approved.
- Federation events: if your data is explicitly shared with peer nodes (federation), the audit trail of which records were sent or received.
- Work your agents do while you are away: schedules you set, the runs they produce, and the delivery record of anything sent to an outside service on your instruction.
- AI provenance records: when this node generates content for you, a record of which model made it, when, how much a person was involved, and a fingerprint of the exact bytes. See section 12.
- Usage counts: what was called and how much of an allowance it spent, so both you and the operator can see where a budget went.
2.3 Data automatically collected
- Technical logs: standard request logs (IP address, user agent, requested path, HTTP status, response time). Retained 30 days.
- Cookies and local storage: a sign-in cookie for authenticated browser use and a small importmap-version stamp for cache-busting. No analytics, no third-party tracking, no advertising cookies. See section 8.
3. Why your data is used (legal bases)
| Purpose | Lawful basis (GDPR Art. 6) |
|---|---|
| Provide the Service (account, memory, storage, wallet, federation) | Art. 6(1)(b) Contract |
| Authenticate you and your agents | Art. 6(1)(b) Contract |
| Operate the morsel economy and ledger | Art. 6(1)(b) Contract |
| Send transactional emails (account recovery, security alerts) | Art. 6(1)(b) Contract / Art. 6(1)(f) Legitimate interest |
| Detect and prevent abuse, fraud, and security incidents | Art. 6(1)(f) Legitimate interest |
| Comply with legal obligations (lawful requests, accounting) | Art. 6(1)(c) Legal obligation |
| Push notifications you opted in to | Art. 6(1)(a) Consent |
| Reading and sending through an outside account you connected | Art. 6(1)(b) Contract, on your instruction. For other people's data in that mailbox, you are the controller |
| Running your agents' scheduled work and delivering its results | Art. 6(1)(b) Contract |
| Serving what you chose to publish, and letting search engines find it | Art. 6(1)(b) Contract, on your own publishing decision |
| Recording how AI was used here, and marking generated content | Art. 6(1)(c) Legal obligation (EU AI Act Art. 50) |
| Metering what each person spends of the node's own AI budget | Art. 6(1)(b) Contract |
4. Who data is shared with
The operator does not sell personal data and does not share it for advertising purposes. Data is shared only in the following situations:
- With AI agents you connect: Connecting an agent (e.g. Claude Desktop via MCP) grants that agent the scopes you approved during OAuth or device authorization. The agent runs on your chosen platform and can read or write the data covered by its scopes.
- With recipients you explicitly choose: When you make a memory entry public, post to a board, join an organism, or grant consent to another account, the affected data is visible to those recipients per the access controls you set.
- With peer AIMEAT nodes (federation): Only the records you explicitly federate are sent to peer nodes you configure.
- With sub-processors necessary to run the Service: See section 5.
- When required by law: Lawful binding requests addressed to the operator as the controller. The operator will challenge requests considered overbroad.
aimeat.io never sends your data to an AI provider as a side effect of storing it. A memory entry sits where you put it. Data reaches a model only when you ask for something that needs one, and then one of two things happens.
- You brought your own key. The server uses your key to call the provider you chose. Your prompt and the response are governed by your agreement with that provider, not the operator's.
- You are using the node's own key, where the operator has configured one. The call goes to that provider on the operator's account, and the operator meters what each person uses. The chat says which of the two paid for the answer.
Inference your own AI agent does on its own platform — Claude, ChatGPT, Cursor and the like — uses that platform's credentials and is governed by that platform's privacy policy rather than this one, whatever it then chooses to write here.
5. Who else handles your data
Three different relationships get filed under one heading and then argued about, so they are kept apart here.
5.1 Sub-processors the operator instructs
These handle data because the operator asked them to, under a data processing agreement (GDPR Art. 28).
| Sub-processor | Purpose | Location |
|---|---|---|
| Scaleway SAS | Server hosting, network, backups | France (EU/EEA) |
Email for account recovery and security alerts is sent from a mail server on the same infrastructure, and files are stored on this node itself, so neither adds a third party. There is no analytics or telemetry provider. The operator relies on Scaleway SAS's standard Art. 28 processing terms for the hosting relationship.
Where this node is configured with the operator's own AI provider key, what you send to the built-in chat or to this node's AI endpoints is processed by that provider on the operator's account and under the operator's agreement with them. This is how someone can use AI here on the day they arrive without bringing anything of their own; the operator is not reselling access to a key, it is metering the use of one. Where no such key is configured, those features refuse rather than quietly falling back to something else.
5.2 Services you connect yourself
The operator is not a party to any of these. You bring the credential, this node uses it in your name and only for what you approved, and disconnecting it stops that at once.
- Your own AI provider key. Requests you trigger go to the provider you chose, under your own agreement with them, and not through the operator's account.
- Your own payment processor. A seller sets their own key and is the merchant of record: the processor did their identity checks, the charge lands on their account, and this node holds no funds and has no payment key of its own. The money moves between the buyer, the seller and the seller's processor.
- Your own mailbox and publishing accounts, where the operator has enabled them: for example Gmail, Outlook, LinkedIn, X, Mastodon, Bluesky or YouTube. Reading and sending are separate permissions and are asked for separately, so a connection made to read invoices cannot send. The credential is stored encrypted and is never shown back to you or to anyone else. A mailbox holds other people's personal data as well as your own. For that content you are the controller and the operator is the processor acting on your instruction, and it is your responsibility that you may bring it here at all.
- Signing in through an identity provider, if you use one instead of a password. That provider learns that you signed in here.
5.3 Recipients of what you publish
Anything you deliberately make public leaves this node by design: published apps and portfolios on their own addresses, public profile fields, public memory entries, and anything you post to a shared surface. Search engines index it, and this node may notify indexing services when public content changes. Content you keep private is not affected, and publishing is a decision you make per item rather than a default.
This node allows third-party AI-training crawlers to read what you publish publicly, so public content may be used to train models this operator has no part in and cannot recall it from. You can read the current setting yourself at /robots.txt. A published app is not search-visible until its owner says so.
The source code is open at github.com/miikkij/aimeat-protocol, so you can check what the server actually does rather than take this list on trust.
6. International transfers
The aimeat.io node is operated from Finland, on Scaleway SAS infrastructure in France (EU/EEA). If both jurisdictions are within the European Economic Area, storing and serving your data involves no transfer outside the EEA.
Two things you do can involve one, and the difference matters because it decides whose agreement covers it. Using your own provider key, or your own connected account, sends the request under your agreement with that provider. Using this node's AI key sends it under the operator's agreement with theirs, and where that provider is outside the EEA the operator relies on the transfer mechanism in that agreement. Either way the transfer happens because you asked for something, not in the background.
7. How long data is kept
| Data category | Retention |
|---|---|
| Account identity (GHII), agents (GAII) | Until you delete your account |
| Memory entries | Until you delete them or your account; per-entry retention can be set via API |
| Storage files | Until you delete them or your account |
| Morsel ledger | Until account deletion; aggregate-only after deletion (audit trail anonymized) |
| Activity log | Until you delete it or your account (user-owned data) |
| OAuth client grants | Until you revoke the connection |
| Connected outside accounts | Until you disconnect one or delete your account; the stored credential goes with it, and the operator revokes it at the provider where the provider supports that |
| Shared workspaces and their version history | Until the group deletes the document; older versions are pruned to a per-node limit. Content you contributed to a group is not removed by deleting your own account, because it is the group's record |
| Moderation reports, appeals and dispute records | Kept as the record of a decision that affected someone, including after the account that filed it is gone |
| Authentication-failure log | A file of refused sign-in attempts, with IP addresses. It rotates by size rather than by age, because its volume is chosen by whoever is attacking rather than by this node |
| Server access logs | 30 days |
| Backups | 30 days, then automatically purged |
Two things deletion cannot take with it, and you should know before you press the button.
- Accounting records. If money has moved through your account, the invoices and payment records behind it are kept for as long as accounting law in Finland requires, which is longer than your account lives. They are kept for that purpose and processed for nothing else. GDPR Art. 17(3)(b) is what allows this, and telling you is the condition.
- Provenance records for content that is still public. If this node generated something with AI and you published it, the record saying which model made it stays as long as the content does. It is what makes "who made this?" answerable, and stripping the label off content that is still readable would defeat the point of the marking. If you want the record gone, take the content down and both go.
8.
The minimum cookies necessary to operate aimeat.io:
- Sign-in cookie (strictly necessary, no consent required): keeps you signed in. It is not a session cookie and does not end when you close the browser. It is replaced with a fresh one each time it is used, expires after 30 days without use, and has an absolute maximum of 90 days that is never extended. Signing out deletes it. HttpOnly, Secure, SameSite=Lax.
- Sign-in-in-progress cookie (strictly necessary): set only while you are signing in through an outside identity provider, and discarded as soon as you return.
- Cookie consent record (strictly necessary): remembers your choice in the consent banner.
Your browser also keeps a few of your own settings locally, such as the colour theme you picked. Those stay in your browser and are not sent to the server.
No analytics, no third-party trackers, no advertising cookies, no fingerprinting. If you want to verify this, the source code is open at github.com/miikkij/aimeat-protocol.
9. Your rights (GDPR)
If you are in the European Economic Area, the United Kingdom, or another jurisdiction with similar protections, you have the following rights:
- Access: get a copy of the personal data the operator holds about you.
- Rectification: correct inaccurate data.
- Erasure ("right to be forgotten"): delete your account and all associated data.
- Restriction: ask the operator to stop processing certain data while a dispute is resolved.
- Portability: receive your data in a machine-readable format (JSON).
- Objection: object to processing based on legitimate interests.
- Withdraw consent: withdraw consent for any processing based on consent at any time.
- Lodge a complaint: with your national supervisory authority. For this node: Office of the Data Protection Ombudsman.
10. Security
Personal data is protected with technical and organizational measures including: TLS 1.2+ for all traffic, password hashing with industry-standard algorithms, optional TOTP two-factor authentication, OAuth 2.1 + PKCE for AI agent connections, Ed25519 cryptographic identities for agents, scoped access tokens, rate limiting, audit logging, encrypted backups, and least-privilege access. No system is perfectly secure; if a breach affecting your data is discovered, the operator will notify you and the relevant authorities as required by GDPR Art. 33–34.
11. Children
aimeat.io is not directed at children under 16 (the EU GDPR age-of-consent default for online services per Art. 8). The operator does not knowingly collect data from children below that age. If you believe a child has provided personal data, please contact the operator so it can be deleted.
12. AI transparency
When this node generates content with AI, it mints a record of what happened: which model, which account asked, when, how much a person was involved, and a SHA-256 fingerprint of the exact bytes. Content that a person would otherwise mistake for human-made carries a visible label linking to that record. This is what the EU AI Act's Article 50 asks of a deployer, and this node does it as a matter of course rather than on request.
Three addresses make it checkable rather than a claim:
- /v1/ai-transparency states the operator's position in full, including which market-surveillance authority applies and which parts of the EU Code of Practice the operator has signed.
/v1/provenance/by-hash/{sha256}answers "did this node make these bytes?" for anyone, without an account, for content that is public.- Reporting a missing or wrong label is
POST /v1/flagswith reasonundisclosed_ai, and a decision can be appealed.
Absence of a record means unstated, never "a human wrote it". And if you publish AI-generated content through this node, the duty to say so is yours as the publisher; this node gives you the marking, it cannot make the disclosure on your behalf.
13. Reporting content, and what happens then
This node hosts what its users publish, so it needs a way to be told when something is wrong. Anyone can report content with POST /v1/flags, and the operator's moderation queue is where it lands. A report names what is being reported and why; if a decision goes against you, you are told the reason and can appeal it with POST /v1/flags/{id}/appeal. Reports and their outcomes are kept as the record of a decision that affected somebody, which is why they outlive the account that filed them.
The point of contact for anything that needs a person is privacy@aimeat.io.
14. Self-hosting
The AIMEAT software is open source (MIT) and designed to be run by anyone. This Privacy Policy applies only to the aimeat.io node. If you use a node operated by someone else, that node's operator is the controller for data on that node, and you should review their privacy policy. Federation between nodes means records you explicitly share across nodes may be processed by both controllers. The getting-started guide walks through running your own node.
15. Changes to this policy
The operator will update this policy when practices change. Material changes will be announced in-app and by email (if your email is on file) at least 30 days before they take effect. Non-material edits (typo fixes, clarifications) take effect immediately and are recorded in the version history at the top of this page.
16. Contact
Privacy questions: privacy@aimeat.io
Security issues: security@aimeat.io
Postal address: Espoo, Finland