Skip to main content

What our monitoring can see

Your n8n keeps a record of every run in its own database, on your instance. We watch whether your instance is up, which does not touch that database at all. Anything beyond that is something you switch on yourself, and nothing is on by default.

What you can switch on

Each setting is a separate tick box on your instance page, and each one adds exactly one thing.

SettingWhat we readWhat we still cannot see
(nothing - the default)Nothing at all. No query is ever run against your database.Everything.
Tell me when a workflow failsHow many runs failed. A number.Which workflow, what it does, any of your data.
...and tell me which workflowThe workflow's name.What the workflow does, and any of your data.
...and keep the error so support can help meThe error message.Your workflow's contents and your credentials.

Leaving everything off does not reduce the service. Uptime monitoring, backups, restarts, updates and certificate renewal all keep working, because those watch the container your instance runs in rather than what is inside it.

Workflow contracts read the same thing, and nothing more

If you buy the workflow contracts add-on, it counts how many times a workflow ran, so it can tell you when one stops running. That is the same run metadata in the table above - a count of rows, not their contents. It reads nothing extra, and it needs Tell me when a workflow fails switched on first. With monitoring off it does not connect to your database at all, so a contract simply reports nothing rather than switching anything on for you.

This is enforced, not promised

Our monitoring connects to your database with a login that is not permitted to open the table your run data is stored in. That is not a policy we follow; it is a permission PostgreSQL refuses.

You can check it yourself. Connect to your own database and run:

-- Everything SpliceRun's monitor is allowed to read:
SELECT table_name, column_name, privilege_type
FROM information_schema.column_privileges
WHERE grantee = 'n8n_failure_probe'
ORDER BY table_name, column_name;

-- And what it is allowed on the table holding your run data:
SELECT count(*) AS grants_on_your_run_data
FROM information_schema.table_privileges
WHERE grantee = 'n8n_failure_probe'
AND table_name = 'execution_data';

The first query returns nine rows: seven pieces of run metadata (id, workflow id, status, mode, started, stopped, deleted) plus the workflow's id and name. The second returns 0.

If you have monitoring switched off, the monitor does not connect to your database at all - the permissions above are simply never used.

Being straight with you

Your instance runs on our server. In principle, whoever operates a server can reach what is on it. That is true of every managed host, and anyone telling you otherwise is selling something. What we have done is remove our own ability to read your workflow contents, and make that something you can verify rather than take on trust.

If you need a stronger guarantee than that, run n8n on your own server. With Bring Your Own Server the machine is yours, we hold only an app-management key that you can revoke at any time, and none of the above applies - there is nothing of yours on our hardware.


Questions about what we can see? Contact Support.

Published Updated