This websitelasso

Privacy policy

Who we are#

Execution Associates (“we”, “us”) builds lasso and runs this website, www.executionassociates.com (also at www.execution.associates). This policy covers:

  • this website;
  • lasso: the server you install, its web and phone app, and the Lasso Mac app.

It doesn’t cover the services you connect lasso to, such as your agents’ model providers, GitHub or your tunnel. Those have their own terms.

lasso runs on your machines#

lasso is self-hosted. Your agents, prompts, conversations, terminal output, files, repositories, hostnames, settings and secrets stay on the machines you run it on. We don’t run a lasso service, you have no account with us, and we can’t see into your lasso. The analytics below never include any of it.

Features you choose to turn on talk to outside services directly from your machine, under those services’ terms, and we aren’t in the path: Web Push goes through your browser’s push service, transcription through the provider you configure, and your agents through their own providers.

Downloads and updates come from GitHub: the install script, the Mac app, and the update checks lasso and the Mac app make. GitHub sees those requests as it would any download.

Anonymous usage analytics#

lasso sends us a small, fixed set of anonymous events, so we can see which features get used and which don’t, and know what to improve. It is on by default, you are asked about it on first run, and you can turn it off at any time.

How it travels#

  • The web and phone app never contact our analytics server. They load no analytics code and set no cookies, and they post their events to your own lasso (POST /api/telemetry, behind the same sign-in as the rest of lasso). Your lasso drops anything not on the list below and forwards the rest to us in batches, only while analytics are on for that lasso.
  • The lasso server sends its own daily install_active, and agent_created when an agent is started by another agent over MCP.
  • The Mac app sends its own events directly to our analytics server, under its own switch, since the lasso it talks to may be someone else’s.

What an event contains#

Every event carries:

  • a random install identifier, made up when the install first starts: one per lasso server, one per Mac app. It isn’t derived from your machine, your accounts or anything about you. It only lets us count installs instead of clicks.
  • which part of lasso sent it (server, web, phone or Mac), the lasso version, the operating system (Linux or macOS) and the processor type (amd64, arm64 or x86_64).
  • two fixed instructions to PostHog, the analytics software: don’t look up a location ($geoip_disable), and don’t build a profile for the install identifier ($process_person_profile). They are the same on every event.

These are all the events there are:

Event Sent when What else it says
install_active at most once a day while a lasso server or Mac app is running rough counts in ranges: machines (1, 2–3, 4+), running agents (0, 1–5, 6–20, 21+) and bots (0, 1–5, 6–20, 21+)
view_opened a view or window opens, at most once per view every 10 minutes which one, from a fixed list: terminal, chat, grid, bots, browser, files, scratch, settings, the simple app’s inbox and agents, the Mac app’s inbox cards, agents and bots columns, and its agent, bot, terminal, browser and new-agent windows
agent_created an agent is started, reported by whichever app started it the kind of agent (Claude Code, Codex, OpenCode, omp, pi or other), whether it is in a git repository or a scratch folder, and where it was started from (web, phone, Mac, or another agent over MCP)
inbox_action you act on an agent from an inbox which action (acknowledge, reply, answer, stop, kill, rename) and where (web, phone, Mac)
feature_used you use one of ten features the feature’s name only: a keyboard shortcut, a pasted upload, terminal zoom, a new browser tab, enabling a plugin, changing the theme, voice input, saving a file, creating a bot, or pinning an agent. Never the value: we learn that a shortcut was used, not which, and that the theme changed, not to what
onboarding_completed you finish the web tour or the Mac first-run panel nothing else

If we ever want lasso to send more than this, we will update this page first and say so in that lasso release’s notes. The full technical list is in lasso’s analytics reference.

What it never contains#

Names, email addresses, hostnames, IP addresses, file names or paths, repository or branch names, URLs, prompts, agent output or conversations, bot names, tokens or keys, which key you pressed, or anything you type. There is no session recording, no screen capture, no automatic click tracking, no heatmaps or surveys, and lasso sets no cookie for analytics.

Any server you connect to sees the network address a connection comes from. Ours is set to discard it: it isn’t stored with events, and every event tells it not to work out a location.

Where it goes and how long we keep it#

Events go to PostHog, open-source product analytics that we run ourselves on our own servers at posthog.execution.associates. It isn’t PostHog’s cloud service, so PostHog the company never receives them. Only our team can see them. We don’t sell them, share them with anyone, or use them for advertising. We keep events for one year, then delete them.

Because events carry no identity, we can’t look up “your” events by name. If you want an install’s events deleted, email us its install identifier (lasso keeps it in its database, the Mac app in its preferences) and we will delete them.

Sending never gets in your way: events go out in the background in small batches, a send that takes more than 5 seconds is abandoned, a failed batch is dropped rather than retried, and if our server is down or unreachable lasso carries on exactly as before, with no error.

Turning it off#

Off means nothing is sent at all, not even a note that you switched it off. Any one of these does it:

  • When you install: answer n at the installer’s [Y/n] prompt. For an unattended install, set LASSO_TELEMETRY=0 or pass --no-telemetry:

    curl -fsSL https://executionassociates.com/install-lasso | LASSO_TELEMETRY=0 sh
    curl -fsSL https://executionassociates.com/install-lasso | sh -s -- --no-telemetry
  • From the command line: lasso telemetry off. lasso telemetry on turns it back on, and lasso telemetry status shows where it stands.

  • In the web app: untick Anonymous usage analytics on the first or last card of the onboarding tour, or later in Settings › General › Anonymous usage analytics. On a phone, the simple app has the same switch under Settings › Privacy. It is one setting for the whole lasso, so it covers every browser and phone that uses it.

  • For agents: lasso’s MCP tools get_settings and update_settings read and change it as telemetry.

  • In the environment: with LASSO_TELEMETRY=0 or DO_NOT_TRACK=1 in the environment lasso runs in (its systemd unit, if it runs under systemd), lasso sends nothing, whatever the setting says.

  • In the Mac app: turn off Share anonymous usage analytics on the first-run panel, or later Settings › Info › Privacy. LASSO_TELEMETRY=0 or DO_NOT_TRACK=1 in the app’s environment holds it off too. The Mac app sends on its own, so its switch is separate from your lasso’s.

This website#

  • No analytics, ads or tracking cookies. The public pages run no analytics and set no cookies.
  • Hosting. Cloudflare serves the site. Like any web host it handles your IP address and browser details to deliver pages and keep out attacks, and it keeps short-lived request logs that we use to fix problems.
  • Fonts. Pages load their typefaces from Google Fonts, so your browser asks Google for them and Google sees your IP address (Google’s privacy policy).
  • The “Start a project” form sends nothing to us. It opens a message to info@execution.associates in your own email app, and nothing leaves until you send it.
  • Email you send us arrives through Amazon Web Services (SES), is stored on our own mail server, and an archive copy is kept in Amazon S3. To filter spam, the sender, subject and the start of each message are checked by Jev, TypeSafe’s classification service. We keep correspondence as business records, use it to reply to you and do the work you ask about, and don’t sell it or share it.
  • Booking a call takes you to TidyCal, a separate service. What you enter there is covered by TidyCal’s policy.
  • Community events are listings gathered from public sources. Registering happens on each organizer’s own site, under their terms.
  • Staff login is for our team only. It signs in through Cloudflare Access and uses a cookie to keep staff signed in; it isn’t used on the public pages.

Changes#

We will post any change here with a new effective date. A change to what lasso sends ships in a lasso release, and its release notes will say so.

Contact#

Questions, or something you want deleted: email info@execution.associates.