Security

Security and data handling.

Emolysis is in private development. This page describes how it handles your data and access. Nothing here has been independently audited yet.

How it is built

How your data is treated.

Emolysis is designed so that the work happens on your machine and production runs on your platform. Emolysis's own services hold your account, your plan, your usage and the dashboards you choose to publish. They are designed never to connect to Databricks, Snowflake, Microsoft Fabric or any other data platform of yours. Beyond that, they reach the provider you sign in with (GitHub, Microsoft or Google) for your account identity. The GitHub App is planned; once you install it, they also reach the repositories you choose.

That does not mean nothing leaves your machine. To write code, the agent sends prompts to the AI model provider you choose, and those prompts can include schemas and sample values. The list below says exactly what goes where.

What leaves your machine

What leaves your machine.

How Emolysis handles your data:

  1. Your platform credentials stay on your machine, in its credential store.
  2. Deployed pipelines and queries against your platform run there, under your account; local tests run on your machine.
  3. To write code, the agent sends prompts to the AI model provider you choose. A prompt can include table and column names, schemas and sample values from your data.
  4. A dashboard leaves your machine when you publish it, and only then.
  5. Samples you pull from your platform are stored on your machine, in the project's local lakehouse. Parts of them can appear in prompts, as item 3 says.
  6. With your own model key, prompts go to that provider under your key and its terms. With a paid plan's included usage or usage credits (on Enterprise, metered usage), prompts and responses pass through Emolysis's metering service on the way to the model provider. That service is designed not to store or log their content; it records token counts for billing.
  7. When you sign in, Emolysis receives your account identity from the provider you choose: GitHub, Microsoft or Google. Emolysis's services keep your account, organization, plan and usage records. They are designed never to connect to your data platform and never to receive your platform credentials. Data from your tables reaches them only in prompts that pass through the metering service, which is designed not to store or log them, and in dashboards you publish.
  8. The GitHub App is planned. If you install it, it reads the contents of the repositories you choose, to run its checks, and writes check results and comments on their pull requests.

Credentials

Credentials stay in your keychain.

When you connect a platform, you sign in with that platform's own login: browser OAuth for Databricks, Microsoft Entra ID for Fabric, and a key pair or programmatic access token for Snowflake.

The resulting credentials are kept in your operating system's keychain, its credential store. They are not sent to Emolysis. Emolysis acts with your account's permissions on the platform, no more.

We recommend connecting a development workspace, or a role with the narrowest permissions your pipelines need.

Model providers

Model providers and keys.

The Free plan is bring your own key, and every plan accepts your own key from the model provider you choose. The key is kept in your machine's keychain, and requests made with it go to that provider under its terms.

On paid plans you can use the plan's model usage instead of a key: included usage on Pro, Max and Team, usage credits past a limit, and metered usage on Enterprise. These requests pass through Emolysis's metering service, which is designed not to store or log the content of prompts or responses. It records token counts so usage can be billed against your plan.

What a provider does with a request is set by its own terms. Read them before you add a key. See pricing for how your own key and a paid plan's model usage fit the plans.

Account

Your Emolysis account.

You sign in with your GitHub, Microsoft or Google account. The app signs you in through your browser in one click, with a short code as the fallback. The emo command line and the MCP server show a short code that you confirm in the browser. The code expires after 15 minutes.

Access tokens are short-lived. Refresh tokens are rotated each time they are used, and they are revocable.

Sharing

Sharing and visibility.

A dashboard is the one thing you publish on purpose. When you publish, its charts and the data behind them are uploaded and stored by Emolysis. You choose who can open it.

A published dashboard is stored by our hosting provider: only what you publish, the rows its charts show, never your source tables. Each organization's dashboards are placed in Western Europe where our hosting provider honors that placement, without a residency guarantee. EU residency is planned for when our hosting provider supports it.

A dashboard keeps one stable link, and each publish adds a revision: a fixed snapshot of the rows its charts show. Charts published on their own get a snapshot link, which can have an expiry date. Revoking either deletes its published data. Who can open a link is fixed for its life: widening or narrowing it means revoking the link and publishing again under a new URL.

  • Anyone with the link

    Treat it like any other link: anyone who has it can open the dashboard.

  • Your organization

    The default. Members of your organization can open it when signed in.

  • Only you

    Nobody else can open it.

More in the dashboards overview.

GitHub App

GitHub App scope.

The GitHub App is planned. It asks for the fewest permissions its checks need, and you choose which repositories it can see.

If you prefer, a reusable GitHub Actions workflow, in preview, runs emo check in your own CI, with no app installed. It needs the emo command line, which is not released yet.

Repository contents
Read
Repository metadata
Read
Checks
Write
Pull requests
Write

Builds and audit

Signed builds and your audit trail.

Signed desktop builds for macOS and Windows, with signed updates, are planned, so your machine can check that a build came from us. The Linux build is checked against its published checksum. No build is released yet.

The app keeps a session log of what the agent did: the requests, the files it changed, the tests it ran and what it deployed. The log is kept on your machine, and you can export it (planned). Organization-wide audit export comes with the Team plan (planned).

This website

This website.

  • This website loads Google Analytics and Microsoft Clarity, and sets their cookies, once you choose in its cookie banner; every choice includes both. Before you choose it sets no cookies, and it shows no advertising.
  • Its one form is the request for early access. It sends what you enter to our service, which keeps it in our CRM and notifies our team by email; the privacy notice lists everyone who processes it. Everything else is by email.
  • Its pages load their files, fonts and scripts from this site only, and a strict content security policy tells your browser to refuse anything else. The exceptions are the bot check on the request-access page, which loads from our hosting provider once you start filling in the form, and the two analytics tags once you choose in the cookie banner. The signed-in account and shared dashboards never load the analytics.
  • Pages are served over HTTPS only, and no other site can show them in a frame.
  • The only things it stores in your browser are listed in the privacy notice.

Read the privacy notice for what the website processes.

Not done yet

What we have not done yet.

Emolysis has not been through a third-party security audit or penetration test, and it holds no compliance certifications. We plan to publish a fuller description of the security design before the first release.

Report a vulnerability

Report a vulnerability.

If you think you have found a vulnerability, please tell us privately by email. Do not open a public issue or post details publicly.

What to include

  • What you found, and where: the page, repository or component.
  • Steps to reproduce it.
  • The impact you think it has.
  • How to reach you, and whether you would like to be named.

What to expect

  • We read your report and reply by email, in English or German.
  • We ask that you give us reasonable time to fix a problem before you share details.
  • We ask that you do not access, change or keep data that is not yours.
  • There is no bounty program.

Our contact details for this are also in our security.txt. For anything that is not a vulnerability, see support.