Security

Adea can look but never touch.

Your code and your data are the most sensitive things you have. Here is how we protect them, written so both management and developers can use it.

Read-only access

Adea gets a database user that can only read, and read access to the code. Every query is checked before it runs. Only plain read queries pass, with a time limit, a row limit and a read-only transaction. Adea can neither change nor delete anything.

Kept apart from everyone else

Every company has its own connection and its own area in the database, and the database itself refuses to show one company's data to another. Adea's AI cannot run code or commands. It can only use the tools it is given for your company.

Hosted in the EU

Adea and your data run on servers at Hetzner in the EU. The only parties that see data outside the EU are the few suppliers on the sub-processor list, and only what they need. The data processing agreement is included from the start.

Encrypted

All traffic is encrypted with TLS. Credentials for your database and tokens are stored encrypted with us, never in plain text.

Rights per table and column

Developers can close tables and columns to certain roles, for example salaries or national ID numbers. The rule applies before a query runs, so an answer cannot get around it. Rules in plain language are a help, not a guarantee. Use table access when you need to be sure.

Secrets stay out

Files with keys and passwords (such as .env, certificates and key files) are never read, and values that look like secrets are removed before the code is used.

Developers have the last word

Every answer shows its sources and assumptions. Your developers can open them and approve the rules the answers are built on.

A log of everything

Questions, connections, rules and permission changes are logged, so administrators can see who did what and when.

Never for training

Your data is not used to train AI. That applies to us and to the AI provider, which processes data through an API where training is excluded.

Retention and deletion

Raw result rows from your database are deleted after 30 days. The answer keeps its SQL and the summarised figures, so it can still be shown and re-run. Questions and answers are kept as long as you have an agreement, and you can delete them in Adea. When the agreement ends, we delete your data and copies of the code no later than 30 days after. Backups are deleted with the normal rotation and no later than 35 days after that deletion.

How to give read-only access

Create a user that can only read. Preferably use a read replica of the database. You can send these examples straight to your developer.

PostgreSQL

CREATE ROLE adea_readonly LOGIN PASSWORD '…';
GRANT CONNECT ON DATABASE your_db TO adea_readonly;
GRANT USAGE ON SCHEMA public TO adea_readonly;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO adea_readonly;
ALTER DEFAULT PRIVILEGES IN SCHEMA public
  GRANT SELECT ON TABLES TO adea_readonly;

MySQL

CREATE USER 'adea_readonly'@'%' IDENTIFIED BY '…';
GRANT SELECT ON your_db.* TO 'adea_readonly'@'%';

The user should only have SELECT. Don't grant it rights on sequences (USAGE or UPDATE) or on functions that write, and don't let it own anything. Adea's connection test checks tables, but not sequences and functions, so your developer makes sure of that.

Agreements and contact

Found a vulnerability, or have questions from your security team? Write to sikkerhed@adea.io.

See it for yourself in a demo

Try Adea on a demo company. No sign-up.

Try Adea with a demo company