Plato

Privacy policy

What Plato does with data.

Effective 26 October 2026. This page describes the VS Code extension, the command line and the website, and the Visual Studio extension (in development, not yet released). If a change affects what happens to your data, the date above changes with it.

Plato is an AI coding agent. It runs on your computer and it talks to a model provider that you choose. Applivity operates no server that Plato sends data to, and Plato has no account to sign in to.


The short version

  • No account. No sign-in.
  • No telemetry and no analytics. Plato sends Applivity nothing.
  • Your prompts, and the code and output Plato reads, go to the model provider you configure. That provider's policy governs them, not this one.
  • Your keys are held by your operating system or by your editor, not in a Plato file, except on a machine with no keychain.
  • Your work record stays on your disk.

What goes to the model provider

You enter a provider address and a key in Plato's settings. From then on, everything Plato does with a model is a request to that address.

Plato sends the provider:

  • The messages you write.
  • The contents of the files Plato reads while working, and the output of the commands it runs.
  • Any image you attach to a message.
  • The conversation so far, which the model needs to continue.

When you ask Plato to list the models a connection offers, it makes one request to that provider for its model list. Plato keeps the answer for 24 hours.

What this means. Your code leaves your computer when Plato sends it to your provider. Applivity does not see it, and cannot see it, because nothing is sent to Applivity. Your provider does see it, and their privacy policy and their terms apply to it. If your provider trains on what it receives, that is a fact about your provider, not about Plato.

You can point Plato at a model that runs on your own machine instead. Plato accepts Anthropic and any address that speaks the OpenAI format, which includes a local server. That is a choice you make; it is not the default.

Protected files

Some files are protected by name out of the box: .env and its variants, keystore.properties, local.properties, *.keystore, and others. Plato reads a protected text file with its values replaced by markers, so the model sees the keys and the line structure but not the values. A value reaches a model only through a card you answer.

There is one limit, and it is worth stating plainly: if a command reads a protected file in a way Plato does not recognise, the value can reach the model. The masking covers the paths Plato knows about, not every possible route to a value.

Fetching a web page

The web_fetch tool lets Plato read a web address. In the plan and edit modes, Plato asks you before each fetch.

In the auto mode, it does not ask. A fetch in auto mode runs without a card, so a page arrives at the model with no prompt. This was a deliberate decision: auto mode means Plato works without stopping for you. Use auto only where you accept that. Three protections still apply in every mode: Plato refuses a redirect to a local or private address, refuses a response that is not text, and labels fetched content as untrusted so the model treats it as data rather than instruction.

MCP servers

Plato can use tools from MCP servers that you list in ~/.plato/mcp.json. Plato starts stdio servers only: a server runs as a program on your machine, under your control. A server entry that gives a remote address instead of a command is refused, and Plato says so when it reads the file.

A tool from an MCP server runs with the same permission rules as a command. It is denied in plan mode, asks in edit mode, and runs without asking in auto mode.

Where your keys are kept

  • VS Code: VS Code SecretStorage, managed by your editor and its operating system integration.
  • Visual Studio: Windows Credential Manager, under your own Windows account. A key is never written to Plato's settings, its logs, its transcripts or the project's .vs folder.
  • Command line: an environment variable if you set one, otherwise your operating system's keychain, otherwise a file readable only by your user account.
  • Windows without a keychain for the command line: a file in %LOCALAPPDATA%\Plato, protected by your account's file permissions. Windows has no POSIX file modes, so this is account protection, not a 0600 mode.

Plato never writes a key into its settings file. A key held in a plain file is readable by anything running as you, and by anyone who gains your account. The keychain raises that bar; it does not survive a compromised account.

What is written to your disk

All of this is on your machine. None of it is sent to Applivity.

WhatWhereHow long
Run transcripts ~/.plato/runs/ Kept. Older than 15 days they are compressed, not deleted.
Undo copies ~/.plato/undo/ Removed after 30 days.
Settings and connections ~/.config/plato/config.json Until you change them.
Team files and project instructions ~/.plato/DUO.yaml, ACADEMY.yaml, PLATO.md Until you change them.
MCP servers ~/.plato/mcp.json Until you change them.
Model list cache ~/.local/share/plato/models.json 24 hours.
Key file, when there is no keychain ~/.local/share/plato/auth.json Until you sign out.
VS Code conversation state The extension's workspace storage, inside VS Code's own data folder Managed by VS Code.
Visual Studio settings and per-project chat log %APPDATA%\Plato Until you delete them.
Visual Studio logs and WebView2 cache %LOCALAPPDATA%\Plato Until you delete them.

On Windows, the command line keeps its settings in %APPDATA%\Plato and its credentials and model cache in %LOCALAPPDATA%\Plato. The Visual Studio extension uses the same two folders, for its own settings, chat log, logs and WebView2 cache.

You can delete any run, or all of them, by hand. Nothing in that folder is needed for Plato to start.

This website

This site is a handful of static files served by a web server. It is worth being exact about it:

  • No cookies. The server sets none, and the page reads none.
  • No analytics, no tracking pixels, no advertising.
  • Server logs record visits. Our web server writes a standard access log that includes the visitor's IP address, the time, the page requested, the referring page and the browser's user agent. Those logs are kept for 14 days and then deleted. We read them to keep the site running and to spot abuse. We do not build profiles from them and we do not sell or share them.
  • One preference is stored in your browser. If you switch between the light and dark theme, the site keeps that choice in your browser's local storage. It contains the word light or dark and nothing else. It never leaves your browser. Clearing your browser data removes it.
  • Fonts come from Google. The page loads its typefaces from Google Fonts, which means Google receives the request and can see your IP address and user agent. We do not send Google anything else, and Google does not set a cookie for this. If you would rather avoid it, a browser extension that blocks third-party requests will stop it; the page still works, in a substitute typeface.

Links to the VS Code Marketplace, npm and the Apache licence take you to sites run by Microsoft, npm and the Apache Software Foundation. Their policies cover what happens there.

Installing and updating

If you install Plato from the VS Code or Visual Studio Marketplace, Microsoft handles the install and the updates under its own terms. Applivity receives no account information from that. Plato does not check for updates itself.

Changes to this page

This page describes what the software does today. If a change alters what happens to your data, this page is updated and the effective date at the top changes with it. There is no mailing list and no notice by email: the date is the record.

Contact

Questions, or something here that does not match what you see: plato-feedback@applivity.com.

This page is a factual description of how Plato behaves, written by the team that builds it. It is not legal advice, and it is not a certification of compliance with any standard.