Security

Security and local processing

Decks are built on your machine. Theodore's servers hold your account and deliver instructions and updates; they never receive your files.

  • Built on your machine
  • No files sent to Theodore
  • Engine runs offline for up to 7 days

Where each part runs

Decks are built on your machine.

Your templates, source decks and the finished .pptx stay on your laptop. The build, the rendering and the checks run there too. The engine goes online only to fetch an image or media your assistant asks for, by search or by URL; the security notes list the three cases.

Your laptop
  • Templates and source decks
  • The build
  • Rendering and checks
  • The finished .pptx
instructions, updates
what you share

Theodore holds your account and sends instructions and updates.

The client signs in, renews the licence, checks for updates and fetches the design instructions each time they are used. What it sends is versions and system details; no deck content, file names or folder paths.

Your laptop
  • Templates and source decks
  • The build
  • Rendering and checks
  • The finished .pptx
Theodore
  • Your account and licence
  • Design instructions, per use
  • Updates
instructions, updates
No arrow carries your files
what you share

Your assistant's provider sees what you share with it.

What you share in the conversation goes to the assistant you chose, under the plan and data terms you already have with its provider. Theodore adds no other recipient.

Your laptop
  • Templates and source decks
  • The build
  • Rendering and checks
  • The finished .pptx
Theodore
  • Your account and licence
  • Design instructions, per use
  • Updates
instructions, updates
No arrow carries your files
Your assistant's provider
  • What you share in the conversation
what you share

What Theodore's servers hold

Your account
Email address, and the name and company if you gave them; your plan (Beta); your sign-in sessions and the browser each one came from. IP addresses are kept only as one-way hashes, for rate limits and abuse checks.
Your computers
For each computer you sign in: its name, operating system and processor type, the assistant, the Theodore versions, and when it was last seen. You can rename or remove each one in your account.
Preferences you save
Up to 30 short notes of 280 characters, which your assistant applies to later work. You see, edit and remove them in your account.
Bug reports
The technical reports described below.
Usage counts
Per account and per day: how many times the design instructions were fetched, how many reports were filed and how often the licence was renewed. Kept for 400 days.

Never: your decks, slide text, images, file names, folder paths or renders.

When the client contacts Theodore

Theodore runs only when your assistant (or you) calls it: no background service, no scheduled task, no hooks. The client is the only part that talks to Theodore.

When the client contacts Theodore, and how often
WhenWhat forHow often
Sign-inAn activation code or a browser approvalOnce per computer
Licence renewalRenews the signed licenceAt most every 12 hours, when you use Theodore
Update checkWhich engine, client and asset-pack versions are currentAt most every 6 hours
Design instructionsFetched each time the deck-design skill is used; never stored on diskEach use
DownloadsRuntime, engine and asset packsWhen installing or updating
In useEngine, client and plugin versions and the assistant's nameAt most once an hour
Reports and preferencesA bug report, or a preference you asked to keepWhen filed

What is sent: the installation credential and id, the computer's name, operating system and processor type, the client, plugin and engine versions, the update channel, the names of the skill and section requested, and the assistant's name when it can be told.

Never sent: deck content, slide text, images, file names, folder paths, renders, or anything else from your work folders.

Hosts: api.theodoreand.ai (the API), dl.theodoreand.ai (downloads) and theodoreand.ai (the installer and sign-in pages). LibreOffice, when Theodore fetches it, comes unmodified from The Document Foundation and is checked against a pinned SHA-256.

When the engine goes online

The engine that builds your decks connects to the network in three cases only, each started by what your assistant asks for, and each sends only a search text or a URL, never deck content:

  • an image search: the search text goes to Wikidata, Wikimedia Commons and the Simple Icons CDN (and DuckDuckGo, when an optional package is installed), and the engine downloads the image it picks;
  • a download of an image URL your assistant gives it;
  • while it writes a deck, PptxGenJS fetching an image or other media that the deck names by URL.

Images given as files, and the asset packs, never reach the network.

Bug reports during the beta

When a Theodore command fails, your assistant may file a technical report by itself. A report holds a title and description written by the assistant, the command and its error code, and the versions and operating system listed above.

Before sending, the client removes paths under your home folder, email addresses, document file names and long tokens; the service removes them again. A report never contains your content.

You can read every report in your account, and switch automatic reporting off there. With it off, your assistant does not ask and sends nothing by itself; it files a report only when you ask it to.

Credentials and the licence

  • Each computer gets its own credential at sign-in. It is kept in the macOS Keychain, or a protected file in your user folder when the Keychain is not available (for example over SSH); on Windows, a file protected with DPAPI for your user; on Linux, a file only you can read. It is never printed or logged, and you can revoke it from your account.
  • The licence is a signed token the engine checks offline. It lasts 7 days from the last renewal, so Theodore keeps working offline for up to 7 days. The design instructions always need a connection.
  • One-time activation codes work once and expire after 10 minutes. The installer redeems the code before it downloads anything large and never prints it.

What protects the downloads

  • The first two files the launcher downloads, the Python runtime archive and the client, are checked against SHA-256 values pinned in launcher.json in the public plugin.
  • The rest of the runtime, the engine, client updates and the asset packs are listed in a signed manifest (Ed25519), which the client verifies against keys it carries in launcher.json. A file that does not match is deleted and reported.
  • The plugin archive the installer fetches is checked against a SHA-256 published beside it, on the same server.
  • Connections use your operating system's certificate store, so a company proxy that inspects traffic works when its root certificate is installed, and Theodore stops rather than connect insecurely when it is not.
  • Archives are unpacked only inside Theodore's own folder.

What is installed, and where

Everything lives in one folder in your user account, with no admin rights and nothing system-wide. The install page lists every folder, its size, and the few things kept outside it.

See what is installed

Removing everything

One command removes Theodore's folders, the keychain item, the render cache and the plugin from your assistants, and lists what little is left. To cut off a computer you no longer have, remove it in your account: its next call is refused and its stored licence is deleted.

The removal command

Reporting a vulnerability

Write to support@theodoreand.ai with "Security" in the subject. Please do not open a public issue for a vulnerability. We answer within five working days.

support@theodoreand.ai