FAQ

Short answers to the questions people ask most, each with a link to the page that has the details.

Getting started

Questions about setting up and what EyalSec needs from you.

Do I have to change my code?

No. You run the same programs the same way, only with es-python instead of python. EyalSec watches from inside the running program, so your source code stays exactly as it is; see Running es-python.

I registered, but the dashboard says I have no active plan. What now?

Registering and verifying your email gives you a working sign-in, not a plan. Until a plan is set up you cannot add machines and your events lists stay empty. Email sales@eyalsec.com to book a live demo and have your plan set up; it applies the moment it is set, with nothing to reinstall. See No plan yet.

I installed es-python. Why is nothing reported?

Because every source is off until you switch it on, so a new machine reports nothing. Turn on the sources you want in the Configure modal, then restart your program. If you still see nothing, work through No events.

Which Python versions are supported?

Python 3.9 to 3.14, depending on the operating system you choose when you add the machine. es-python matches that version exactly, and several versions can be installed side by side; see Python versions.

Can I keep using my packages and virtual environments?

Yes. es-python uses the packages you installed for your regular Python of the same version, and es-python -m venv creates virtual environments as usual. See Packages and libraries.

Can I put more than one machine on one computer?

Yes, as long as each uses a different Python version: each installs its own es-python3.X command. Plain es-python runs the one installed last; see Python versions.

Using EyalSec

Questions about day-to-day behavior.

Does es-python slow my program down?

It depends on what you switch on. With few sources on, most programs run close to their regular speed, and each source you add does more work. Watching every file read in a file-heavy program costs the most. See Speed.

Will Report and Raise break my app?

Only at the moment untrusted data actually reaches a risky operation. Normal traffic is unaffected; when it steps in, it raises an ordinary Python RuntimeError, which your code can catch like any other. Many teams start with Report and switch on Raise once they trust what is detected; see Report and Raise.

Why can't I create a Raise rule?

Raise (blocking) must be enabled on your plan. Without it, saving a Raise rule shows "Raise rules are not enabled for your account. Ask an administrator to enable them." Every other rule mode works on every account. Email sales@eyalsec.com to have it enabled; see Raise.

What does EyalSec send from my machine?

Each event carries the risky operation it found, the untrusted value, where it came from, and the stack trace. The command line is also sent by default; the environment and snippets of your source code are sent only if you turn them on. Values that look like secrets are masked first. See Sent with each event.

Why does one row say 250?

Repeats of the same event are counted on one row instead of filling the list, and the number is that count. You choose what makes two events "the same" with Unique event.

Can I see what one run of my program did?

Yes. es-python tags each event with the run (one start of a program) that produced it. Pick the run on the events page to see only its events; see Runs.

Do dropped or hidden events use up my quota?

Events dropped by a Don't send rule are never sent, so they are not stored and do not count. Hidden events (a Hide rule or a filter) are still stored. See Event quota and Rules.

Machines and updates

Questions about keeping machines current.

How do I update a machine to a newer build?

When a machine shows newer build available, reinstall it: click Install on its row and run the new command on the computer. The machine keeps its identity and all its events. Then restart programs that are still running the old copy; see Reinstall.

How do I go back to normal Python?

Run python as you always did. EyalSec installs alongside your Python and never replaces it. To remove EyalSec entirely, see Uninstall.

Can I use AI coding assistants with es-python?

Yes. Run eyalsec agents-init in a project to give Claude Code, Cursor, Codex and similar tools a short description of es-python, so they run your code with it; see AI coding assistants.

Account

Questions about signing in and automation.

I lost my two-factor device. How do I sign in?

Use one of the backup codes you saved when you set up two-factor authentication: choose Use a backup code instead on the sign-in screen. Each works once. If you turned on email codes, you can have a code emailed instead. Then set up your authenticator again and make new backup codes; see Backup codes. If you have neither, email support@eyalsec.com.

How do I use the API?

Generate an API key in Settings, then send it in the X-API-Key header of each request:

curl -H "X-API-Key: es2_EXAMPLEONLYnotarealkey" https://eyalsec.com/api/get_all_machines/

A full-access key can do what your account can; a read-only key can only read. See API.

Something unclear or missing on this page? Email support@eyalsec.com.

EyalSec Pricing Docs Security Contact Login Book a live demo