✦ Privacy

What Elyra knows about you

Last updated August 18, 2026

your data

Want off the list?

Ask by email and we delete your record. No form, no reason needed, no copy kept.

contato@elyra.sh

Two surfaces hold data about you: this website and the Elyra app. On the site, one thing happens only if you want it to — joining the waitlist — and one happens on every visit, the audience measurement. In the app, the data comes from using the product: activating the license, sending an error report, downloading a new version. All of them are laid out below.

If you join the waitlist

When you submit the form, one record is written. This is it:

waitlist/9f2c4b…e1.json
{
  "emailEnc": "U2FsdGVkX1+9f2c…",
  "createdAt": "2026-08-12T14:03:11Z",
  "source": "https://elyra.sh/"
}
emailEnc
Your email address, already encrypted. This is the only form it takes on disk.
createdAt
The exact moment you submitted the form.
source
The page that brought you here. It tells us which promotion worked.

There is no fourth field, and there is no hidden field in the form. What you see above is the entire record.

Audience measurement

We use Google Analytics, loaded through Google Tag Manager. It tells us how many people arrive, where they come from and where they stop reading — and that is how we decide what to fix on this page. This is what it sees:

Pages viewed
which addresses on this site you opened, and for how long
Referrer
the link or search that brought you here — this is what tells us whether a promotion worked
Device
browser, operating system, whether it is a phone or a computer, and the language
Approximate location
city and country, inferred from the IP by Google. The IP itself does not go into the report

To do that it writes cookies in your browser — _ga and _ga_*, which last up to two years and hold a random number. That number carries neither your name nor your email, and it is what lets Google recognize that two visits came from the same browser.

The waitlist email is never sent to Google. The two things described on this page do not meet: whoever is on the list is not identified in the audience report, and the report does not know who signed up.

Audience data is kept for 14 months and then deleted by Google itself. In that processing, Google acts as a processor, under the Data Processing Terms we have accepted with them.

If you do not want to be measured: a tracker blocker does the job, and Google publishes an official opt-out add-on for the browser. Today this page has no cookie banner, so that is how the refusal happens. None of the measurement affects how the site works: blocking breaks nothing.

What we do not collect

  • Name, phone number, company or job title
  • Credit card or any payment data
  • Screen recording, heat maps or tracking of your mouse
  • Social network pixel — no network learns from us that you were here
  • Matching your email against what the measurement sees

When you submit the form, your IP passes through server memory only to rate-limit repeated attempts from the same place, and it is not stored with your signup. Besides the measurement cookies described above, the only cookie on this domain belongs to the team's admin area and is created when one of us logs in — never on your visit.

The Elyra app

This data is different from the above: it is generated when you use the Elyra app, not the site, and it is tied to your account — which is why it counts as personal data under the LGPD, the Brazilian data protection law, even without a name in it. The four purposes below are kept apart on purpose: each exists for one reason only, and none of them mixes with the others.

License and devices

For your license to work on each computer where you install Elyra, we record the following per device:

Device identifier
an HMAC-SHA256 of your machine, not the hardware identifier itself — the raw value never leaves your computer
Device name
the name you gave it, such as “Janderson’s PC”
System and app version
for example win32-x64 and 0.0.1 — so we know what to support
IP address
recorded on activation, to detect usage outside the expected pattern
Last seen
when the device last validated the license

App usage (telemetry)

We count how Elyra's features are used, so we know what to prioritize and what is broken. The system that does this was designed with one strict rule: only a closed enum (a fixed list of possible values) or a number inside a range gets through. Free text does not exist on that path.

What happens
counts of which feature was used, where you opened something from, whether a step finished or was skipped
How each value arrives
always a closed enum (a fixed list of options) or a number inside a range — never free text
What is forbidden by construction
error messages and technical stacks (error_message, error_stack) are rejected by the validator — the whole event is discarded if any code tries to send them

The only documented exception in that validator is a technical message of up to 200 characters about a failure to install a configuration hook for another tool (it is not your content, it is a configuration file error). Apart from that, the error field is refused by construction — it is not a policy promise, it is the validator rejecting the whole event if any code tries.

Error reports

When the app crashes or hits a defect and you send a report, it carries:

Message and technical stack
the error text and the trace of where it happened in the code — limited to 2 KB and 16 KB
Version, system and surface
app_version, platform and the area of the app where it happened (surface: renderer, main, daemon or updater)
What you wrote
if you fill in the “what happened?” box, that text goes along — it is the only field in the report written by you, and it is optional (2 KB limit)
Who you are
it comes from your session token, never from a field the app fills in — it cannot be forged in someone else's name
Attachments
the images or videos you choose to attach to the report, up to 4 files of 20 MB each

Before it leaves your machine, the app strips paths containing your home folder name (such as C:\Users\your-name or /Users/your-name). The server applies the same filter again, as a safeguard. No report accepts terminal content, conversation, project name or environment variable — any such field in the request body takes the whole report down.

About what you write: the “what happened?” box is optional and goes exactly as you typed it — we do not fill it in for you, nor complete it with anything from the app. It goes through the same folder-path filter above, but the rest is up to you: do not paste an API key there, nor a piece of code you do not want to share.

There are two moments of sending, and they differ. Automatic: when a screen breaks, only the message and the stack go — nothing written by you. Manual: when you press “Send report”, what you wrote goes too. Both only happen with a license active on this device; without one, the app shows you the details to copy and sends nothing.

Downloads

Every time you download an installer, we record:

Who downloaded
your account, through the logged-in session
What
which version and for which system
When
the date and time of the download, and the IP and browser used

What the app never collects

Elyra is a development environment: it is where your code, your keys and your AI conversations live. None of it is read or sent by the app, in any of the four purposes above:

  • The contents of your terminal
  • Your conversations with the AI
  • The source code of your projects
  • Your project names or your file paths
  • Any of your environment variables, including API keys

The only way any of these things reaches us is if you type it into the “what happened?” box of an error report and press send. The app never fills it in on its own.

How to turn telemetry off

Usage telemetry comes enabled by default, with a notice the first time you open the app saying what is collected and where to turn it off. You can turn it off whenever you want, in Settings → Privacy, on the anonymous usage data toggle.

Two things turn telemetry off from the outside, and they win over any setting of yours: the industry-standard DO_NOT_TRACK environment variable, and automatic detection that the app is running inside a continuous integration (CI) environment. In neither case does a single event leave, even if the toggle is on.

The license and device data (which makes the license work) and the error reports you choose to send have no toggle — they are what makes activation and technical support exist.

Where it lives and how it is protected

In private storage on Vercel, our infrastructure provider, acting as a processor. Your email is encrypted before it is written — which is why the record field is named emailEnc and not email. Anyone who obtained the raw file would not read the address without our key, which does not live alongside the data.

We do not sell, rent or share the list, and we do not use it to feed anyone's advertising.

The license, the error reports and the download records live in Supabase's Postgres database and in Vercel's storage, both contracted by us as processors. The installers themselves live in a private Cloudflare (R2) bucket, and the download link is signed with a 60-second validity — passing it on is useless.

Every error report also becomes an issue in a private repository of our organization on GitHub, contracted by us as a processor, where the team tracks the fix. The issue carries the entire report — including your name, your email, what you wrote and the attachments. That issue is read by people on the Elyra team, who may also receive it by email from GitHub, and by the AI assistants the team uses to write code. Attachments are shared through a link that works for 7 days for whoever holds it. If you ask for your data to be deleted, we also delete, on GitHub, the issues that contain it. Reports sent through our WhatsApp bot follow the same path and carry the text, the image (when there is one), and the name and phone number of whoever sent it.

Usage telemetry goes to PostHog, a product analytics platform contracted by us as a third-party processor. We send PostHog nothing from the other three purposes — license, error and download do not pass through it.

For how long

Waitlist: until the beta opens and you are invited, or until you ask for deletion — whichever comes first. If the beta is canceled, we delete the whole list.

License and devices: for as long as your account and your license exist. Revoking or deactivating a device changes its state, but does not erase the history by itself — deletion of account data is always on request, as described below.

An open item we are admitting here: we do not yet have a defined retention period for error reports and download records, nor automatic deletion over time. Until that is decided, what applies is the deletion-on-request paragraph right below — not a fixed period that does not exist yet.

Your rights

The LGPD (art. 18) guarantees that you may ask, at any time, for confirmation that we process your data, access to it, correction, portability, withdrawal of consent and deletion — for the site and the app. Write to contato@elyra.sh and we reply within 15 days.

Today deletion is always done by us, at your request — there is no self-service button yet to erase the account and the history in one go. If you ask, we deactivate your devices, revoke the license and delete what we are not required to keep by law (such as tax records, if any).

Who is accountable for this

ElyraLabs, the company behind Elyra, is the controller of the data described here. For any matter concerning this page, the channel is contato@elyra.sh.

Changes to this policy

If what we do with your data changes, this page changes with it and the date at the top is updated. A change that widens the purpose of the processing is announced by email to everyone on the list, before it takes effect.

Privacy — Elyra