Privacy

Your recordings are stored on your Mac, in a folder only your user account can read. Speech is transcribed on your Mac, with no server fallback. To understand a task, Ditto AI sends the frames, clicks and transcript of that recording to the AI provider you connect, your own Anthropic, OpenAI or Amazon Bedrock account. The website itself sets no cookies and runs no analytics or third-party trackers.

What the app records

While a recording is running, Ditto AI keeps:

  • Frames of the screen, captured when something changes rather than as continuous video. Ditto AI's own windows are excluded.
  • Clicks and focus, read through macOS Accessibility: the control you clicked, the control in focus, and the address in your browser's address bar.
  • Audio, only if you talk through the task. It is transcribed on your Mac, and the temporary audio is deleted afterwards.

Nothing is recorded until you start a recording, and recording stops when you stop it.

Where it is stored

WhatWhere
Recordings, agents, model cache and tool credentialsThe Ditto AI folder inside Application Support in your user Library, with permissions that allow only your user account to read it
Your AI provider keysThe macOS Keychain, under “Ditto AI provider keys”
LogsThe Ditto AI folder inside Logs in your user Library

Recordings are never uploaded anywhere for storage, and they are never included in a build of the app.

What leaves your Mac

The recording, to the AI provider you connect. To work out what a task was, Ditto AI sends that recording's frames, clicks and transcript to the provider whose account you connected at setup: your own Anthropic, OpenAI or Amazon Bedrock account. That provider's own terms then apply to the request, and the model call is billed to your account. Nothing else about your Mac is sent with it.

Speech never leaves. Transcription runs on your Mac, using SpeechAnalyzer on macOS 26 or on-device speech recognition on macOS 15. There is no server fallback: if on-device transcription is unavailable, there is no transcript and the app says so.

Tool servers, when an agent runs. An agent talks to the apps your task used, through the tool servers you allowed. A hosted tool server is the vendor's own service, reached with the account you signed into. A local tool server runs on your Mac. Credentials you supply are stored on your Mac and passed to that server only.

Public pages, through a browser. Steps that used a page anyone can open are handled by a headless browser with a fresh, in-memory profile, which opens that page as a browser would.

Nothing else. The app sends no analytics, telemetry or crash reports of its own.

How long recordings are kept

Recordings are kept for 30 days by default, then deleted. You can change that in Settings, to anywhere from a day to a year, or set it to keep recordings until you delete them yourself. Deleting a session removes everything derived from it.

To remove everything at once, follow the uninstall steps in Install and set up Ditto AI: they delete the recordings folder, the logs and the Keychain items.

macOS permissions, and why each is needed

macOS asks your permission before any app can see these. You can withdraw any of them at any time in System Settings, under Privacy & Security.

PermissionWhat Ditto AI does with it
Screen & System Audio RecordingKeeps frames of what you did
AccessibilityReads which control you clicked, what was in focus, and the browser's address
Input MonitoringNotices clicks while recording, without changing them
MicrophoneRecords your narration, only while you are recording and only if you talk
Speech RecognitionTranscribes that narration on your Mac
AutomationReads details, such as a page's address, from apps that don't expose them otherwise

This website

  • No cookies are set, and there is no sign-in.
  • No analytics and no third-party trackers. Nothing on these pages loads from an advertising or analytics service.
  • Fonts are served from this site, not from a third party.
  • The server keeps ordinary web logs of requests, which include IP addresses, as any web server does. They are used to operate and debug the site.
  • The browser demo runs entirely in your browser with a sample task. Nothing you do in it is recorded, and no model is called.
  • Download sends you to the app file itself.
  • Update checks. The app asks this site whether a newer version exists. That request is an ordinary web request and appears in the same logs.

The Ditto AI service's request logs

The Ditto AI server (api.buildagents.pro, and the web app's requests at buildagents.pro/app/api) writes one line about each request it answers: the time, which part of the service was called, the result and how long it took, a short id of the account or device key that made it, and your IP address only when the request carries no account. It never contains a recording, a screenshot, a prompt, an answer, a key or your email address. These lines are kept for 30 days, then deleted, on the same server in Vienna; they are used to run the service, find faults and fend off attacks. Counts made from them (how many requests, how long they took) keep no account or address.

Ditto AI Studio and YouTube

We publish to our own social media accounts with Ditto AI Studio, a tool we run for ourselves at studio.buildagents.pro (a self-hosted copy of the open-source BrightBean Studio). Only our own team signs in to it. It connects to our YouTube channel, @buildagentspro, through the YouTube API Services, so Google's privacy policy applies to that use too: Google Privacy Policy.

What it accesses and keeps, for our channel only, after we sign in with Google and allow it:

  • The channel's name, handle, picture, ID and subscriber count.
  • The access tokens Google issues for it, stored encrypted.
  • The videos we upload through it, with their titles, descriptions and IDs.
  • Statistics and YouTube Analytics figures for the channel and its videos.
  • Comments on our videos and the replies to them: the text, the commenter's public name and picture, and when it was posted. Studio reads them again from YouTube every 30 minutes, so what it shows matches YouTube.

What it's used for: publishing our own videos, seeing how they do, and reading and answering comments. None of it is sold, used for advertising or combined with data about you from elsewhere. Studio shows no ads, and the only cookie it sets is the sign-in cookie for our team.

Where it's kept, and who processes it for us: on a server we rent from netcup GmbH in Vienna, Austria. Traffic to Studio passes through Cloudflare, as described above. When we ask an AI assistant to draft a reply or summarise how our videos did, the text involved, such as a comment, is sent to that assistant's provider (Anthropic, for its Claude models) for that request only.

How long it's kept: while the channel stays connected. Disconnecting the channel in Studio revokes Google's access at once and deletes everything listed above from Studio at the same moment; backup copies are overwritten within 7 days. This deletes nothing on YouTube itself.

Revoking access: the channel's owner can also revoke Studio's access at any time on Google's security settings page, security.google.com/settings/security/permissions. Studio tests its access every day. Once Google has refused it for 21 days, the channel and its data are deleted from Studio, and from the backups within 7 more days.

If you comment on one of our videos: your comment, public name and picture are kept in Studio so we can read and answer it, for as long as our channel is connected. To have it removed from Studio, email [email protected] and we'll delete it within 7 days. That removes our copy only; to delete the comment itself, delete it on YouTube.

Who is responsible, and on what basis

The controller for this website and for any email you send us is Amrit Preet Singh, Berlin, Germany. The full postal address is on the legal notice; email [email protected].

WhatWhyLegal basis (GDPR)How long
Web server logs: IP address, time, requested page, browser and referring pageTo deliver the site, find faults and fend off attacksArt. 6(1)(f): our legitimate interest in running a secure websiteUntil they're no longer needed for that, then deleted
Delivery through CloudflarePages are delivered through Cloudflare, Inc., a content delivery and security network, which processes your IP address and request details to serve the site and protect itArt. 6(1)(f), for the same interestUnder Cloudflare's own retention; see below
The Ditto AI service's request logs: time, the part of the service called, result and duration, a short account or device-key id, and the IP address of a request without an accountTo run the service, find faults and fend off attacksArt. 6(1)(f): our legitimate interest in running a reliable, secure service30 days, then deleted
Comments on our YouTube videos, kept in Ditto AI Studio: the text, the commenter's public name and picture, and when it was postedTo read and answer comments on our own channelArt. 6(1)(f): our legitimate interest in replying to comments on our channelWhile our channel is connected to Ditto AI Studio; on request, deleted within 7 days
Emails you send usTo answer youArt. 6(1)(b) where it's about using the app, otherwise Art. 6(1)(f)Until the conversation is finished, unless the law requires keeping it longer

Cloudflare and transfers outside the EU. Cloudflare also asks your browser to report network errors on this site back to Cloudflare (Network Error Logging), so it can see delivery problems. Cloudflare may process this data in the United States. Cloudflare states that it is certified under the EU-U.S. Data Privacy Framework, and that its data processing addendum incorporates the EU standard contractual clauses as a fallback (Cloudflare).

The app is yours to run. With your own AI provider account, recordings, agents and credentials stay on your Mac, under your control, as described above, and we don't receive them. What goes to that provider is governed by your own agreement with it.

There is no automated decision-making or profiling on this site.

Your rights

You have the right to access the data we hold about you, to have it corrected or deleted, to restrict its processing, to receive it in a portable format, and to object to processing based on legitimate interests (Articles 15 to 21 GDPR). Email [email protected] to use any of them.

You also have the right to complain to a data protection supervisory authority (Article 77 GDPR). For Berlin, that's the Berliner Beauftragte für Datenschutz und Informationsfreiheit.

Questions

Email [email protected]. Postal details are on the legal notice.