Privacy
What leaves your machine, when, and where to. Written to be read in full, and verifiable: everything installed on your machine is open source.
Last updated: November 9, 2026.
In short
On the free plan, your sessions, your code and your hours never leave
your machine. Estela only checks npm once a day to tell you about new versions, and
you can turn that off with ESTELA_NO_UPDATE_CHECK=1. If you use
estela delivery, it also reads your GitHub or GitLab through your own
gh or glab.
With ESTELA_OFFLINE=1 no network connection is opened at all. If you
create an account, only what you turn on is uploaded, feature by feature: it's all
in this table.
Who is responsible
Zaisor Technology LLC runs getestela.dev and is responsible for the data described here. For anything about your privacy (seeing your data, correcting it, deleting it, or just asking) write to hola@getestela.dev. A person replies.
On your machine
The CLI reads what your tools already keep on your disk:
- Sessions from Claude Code (
~/.claude/projects), Codex (~/.codex/sessions) and GitHub Copilot in VS Code (VS Code'sworkspaceStorage). From each turn it keeps the time, model, tokens, folder and branch. Never the text of your prompts or of the replies. - Your repositories' git history, via
git log: for each commit, the hash, date, author (name and email), branch, first line of the message, and which files it changed and by how many lines. It installs no hooks and doesn't touch your repository.
All of that is stored in ~/.estela/estela.db, a SQLite database on your
disk. It isn't encrypted: it's protected by your user's file
permissions, just like the agent sessions it reads. Next to it there are a few small
cache files (statusline.json, update-check.json).
The estela web dashboard listens only on 127.0.0.1: it can't
be reached from another machine and loads nothing from the internet. The reports,
receipts, badges and PDFs you generate stay on your disk until you send them.
Network connections
These are all the connections the CLI opens. There are no others.
| When | Where to, and what's sent | How to turn it off |
|---|---|---|
| New version notice | registry.npmjs.org, at most once a day. One request asking for the
latest version: npm sees your IP, but none of your data. |
ESTELA_NO_UPDATE_CHECK=1. It's also skipped when CI
is set. |
| Notice in the local dashboard | getestela.dev, only if you linked an account. None of your data. Without an account, the local dashboard connects to nothing. | estela logout or ESTELA_OFFLINE=1. |
| Account features | getestela.dev, only when you use them. What each one sends is in the next table. | Don't use them, or ESTELA_OFFLINE=1. |
| Reading your GitHub or GitLab | Only with estela delivery, on a project set to
--system github or gitlab. It doesn't go to
getestela.dev: your own gh or glab asks GitHub or your
GitLab, with your login. Estela has no token of its own. It asks for issues, PRs
or MRs, their labels and milestones; nothing of yours is sent. What it reads is
kept in your database so it can be repeated offline. |
--offline, ESTELA_OFFLINE=1, or not setting GitHub or
GitLab as the project's tracker. |
ESTELA_OFFLINE=1 turns off all four. Every call to the account also
carries the Estela version, your terminal's language and your machine's token.
What each account feature uploads
The account is optional and having one uploads nothing by itself: each feature sends only its own data, and only when you use it.
| Feature | What's sent to getestela.dev |
|---|---|
Sign inestela login |
Your email. The server keeps the email, when the account was created and, for each linked machine, its Estela version and when it was last used. |
Publish a dashboardestela publish |
The whole dashboard: project and client name, hours per day, the description of
each block (the first line of its commits), branches, the most rewritten files,
and the names of the people in the team with their commit counts. Amounts only
with --with-amounts. Plus the client emails you give with
--client, who get an email about it.
Before uploading, Estela shows you this summary and asks you to
confirm. Anyone with the link can see it, with no password.
estela unpublish deletes it from the server. |
Sync (Pro)estela sync |
Only for the projects you turn on with estela sync enable: each
time entry, with start and end, duration, description, branch, commit hashes,
agents used, whether it's billable and its AI cost. It's your own account: it's
there so you see the same thing on all your machines. |
| Team (Teams) | For each team project you accept: your total hours and hours per day, the detail of each block (date, duration, description, branch and hashes), and the hash of the repository's first commit, to check it's the same repository. AI cost only if you say yes (see below). |
| Pay for Pro or Teams | Stripe handles the payment. We keep your email, your Stripe customer ID and your subscription status. Stripe sees and stores the card: we never see a single digit. |
| Website forms | What you write in them: your email and message, and your name, company or phone if you give them. It's stored on the server and the notice reaches us by email at hola@getestela.dev through Resend. If you tell us how you found us and you accepted cookies, Google Analytics gets only that category (for example, "GitHub"), never your email. If you tick "Send me news", your email goes on Resend's list; if you don't, it goes on none. At most one email a month, and you can unsubscribe from any of them. |
The token that links your machine is stored as is in ~/.estela/estela.db;
the server only keeps its fingerprint (SHA-256), not the token.
estela logout revokes it.
What never leaves
- The text of your prompts or of your agent's replies. Estela doesn't keep it even on your own machine.
- Your source code and the
diffof any commit. - The body of commit messages. Only the first line of each commit travels, and only in dashboards, sync and Teams.
- AI cost inside a published dashboard.
- Your payment card, in any form.
AI cost is a special case
In a team project, a person's AI cost is not shared unless they grant it. Whoever runs the team can ask for it; the person asked gets a notice and decides. If they say no, the team lead learns that it was declined, never the number. If they say yes, what's shown is the project total, never person by person: anyone who contributes with their own AI subscription is left out of the calculation, so nobody can work out their spend by elimination.
Who it's shared with
Only with those who need the data to provide the service:
| Who | What for | What they get |
|---|---|---|
| DigitalOcean | Hosting the server | Everything getestela.dev stores, on its Frankfurt server. |
| Resend | Sending email | Sign-in links, invitations, the notice to a client when you share a dashboard with them, replies to what you write to us, internal notices (new account, payment) and the news list: each recipient's email and the content of that email. |
| Stripe | Charging for Pro and Teams | Your email and the payment details you give them directly. |
| Google Analytics | Counting visits to this website | Nothing until you accept the cookie notice. Only on the website, never in the CLI or your dashboard. |
| npm | The new version notice | One request a day from the CLI, with none of your data (it can be turned off). |
There are no others. Nobody buys or receives your data for advertising.
Where it lives and how it's protected
The getestela.dev server is in Frankfurt, Germany, on DigitalOcean. All connections are encrypted (HTTPS). The server's database is not encrypted at rest: it's protected by access to the server. A backup of that database is made every day, on the same server and also unencrypted, and it's deleted automatically after 14 days.
If you only use the free plan, your information never leaves your disk.
How long it's kept
- Your account and what you uploaded: for as long as the account exists.
- Backups: 14 days. If you delete your account, backups from the 14 days before may still exist until they expire on their own.
- Web server logs: the IP, date, requested address and browser of each visit, for 14 days.
- Form messages: until you ask us to delete them. They aren't tied to your account, so deleting the account doesn't delete them: write to us and we'll remove them.
Your rights
You can see what we hold about you, correct it, take it with you, or ask for it to be deleted. You do the last two yourself, in your account, under Facturación (Billing):
- Download my data: a JSON with your account, your machines, your dashboards, your synced hours, your teams and your subscription.
- Delete my account: cancels any subscription you have and deletes the account, its machines, its hours, its teams and its published dashboards (the link stops working right away). It also takes you off the news list.
Hours you sent to someone else's team project stay in their project even if you delete your account: they're part of their work. If you want them removed, write to us.
What's on your machine is yours and under your control: estela unpublish
takes down your dashboards, estela logout unlinks the machine, and
deleting ~/.estela deletes everything.
For anything else, write to hola@getestela.dev; a person replies, usually within a week. And if you think we haven't handled it properly, you can complain to the data protection authority in your country.
Cookies
One technical cookie, always on: the one that keeps you signed in to your account
(estela_session). No advertising cookies and no cross-site tracking.
If you accept the notice shown when you arrive, Google Analytics sets its own to count visits, and never before. The site uses Google's Consent Mode: Google's script downloads with the page, but it's explicitly told not to store anything, and no visit or event is sent to it until you accept. If you decline, everything works the same.
Minors
Estela isn't meant for anyone under 16 and we don't knowingly collect data from anyone below that age.
Changes to this policy
If something changes, it's changed here with the date at the top. If what's stored or who it's shared with changes, we'll also tell you by email.
Anything unclear? Write to us at hola@getestela.dev.
