Identity and access
One identity, from the directory to the engine. Row filters and column masks per group.
ComponentsKeycloak, LDAP or your Active Directory, OPA or Ranger
Built on the technologies you know
Federation
Your data stays in PostgreSQL, Hive or Iceberg. AKKO exposes it through a single Trino engine: one SQL query, several sources, one result. Only the requested rows travel.
Every query runs under the identity of the signed-in person. Row and column rules apply at query time, across every source, and every execution is logged.
The catalogue fills up as you federate: NORA suggests descriptions and flags what is missing. When a source deserves a copy, Iceberg and Airflow take over, on your team's decision.
What AKKO installs on your side
Each layer is an open component you know, installed and wired by AKKO, replaceable by what you already have. The cockpit brings them together; the identity of the signed-in person runs through all of them.
One identity, from the directory to the engine. Row filters and column masks per group.
ComponentsKeycloak, LDAP or your Active Directory, OPA or Ranger

One SQL over PostgreSQL, Hive, Iceberg and your other sources, without copying data.
ComponentsTrino

Open-format tables on your storage, readable by any engine.
ComponentsIceberg, object storage

Lineage, owners, classifications, profiling. The same truth for people and for models.
ComponentsOpenMetadata

Scheduled pipelines, lineage emitted to the catalogue.
ComponentsAirflow
Distributed processing on the lakehouse.
ComponentsSpark
Dashboards on the federated engine, with the rights of the signed-in person.
ComponentsSuperset
Notebooks and models, with data access governed like everything else.
ComponentsJupyterHub, code-server, MLflow

ADEN answers in SQL under the identity of whoever asks; NORA enriches the catalogue.
ComponentsADEN, NORA, models running on your side

Sovereignty
Deployment
One Helm chart, one values file per environment, the same result everywhere. The targets below are the ones we have installed and tested; we do not list others.
Ecosystem
AKKO installs on what exists and federates it: a Kerberised Hadoop cluster with Ranger and Knox, an ODP or OKDP distribution, a corporate directory, databases and lakes in place, sovereign models running on your side.
Sovereign AI
ADEN puts the question to a model and runs the SQL on the federated engine, under the identity of the person. The model is the one you choose: Mistral, Qwen or DeepSeek running in your cluster with Ollama or vLLM, or the API of Mistral AI, a French company. Every answer comes with its chart, its SQL, its steps and the name of the model that produced it.



Governed AI
ADEN turns a question into SQL and runs it under the identity of the person asking. That person's row filters and column masks apply, as they do for a dashboard or a notebook. Below, the same question asked by an analyst and by an administrator.



External agents
An agent wired with a technical account reads everything; the only guardrail left is the prompt. The akko-mcp-trino brick carries the person's token down to Trino, refuses any write, applies quotas and revocation, and logs every call without ever keeping the token. It installs on its own, on the Trino you already have, with your directory.
== 3. Verifications depuis le pod ==-- RFC 9728OK metadonnees sans jeton200OK authorization_servers = emetteurhttps://keycloak…/realms/akkoOK 401 porte resource_metadataTrue-- double identiteOK sans cle agent : refus nomme401/agent_key_missingOK cle inconnue : refus nommeagent_key_unknownOK cle ok, sans jeton401/unauthenticatedOK jeton forge401-- deux comptes, deux reponses (core_postgres.clients.customers)OK alice : emails en clairTrue (6 lignes)OK carol : emails masquesTrue (3 lignes)OK carol : pays["FR"]-- quotasOK 429 une fois la fenetre pleineTrueOK Retry-After + raisonrate_limited/N-- revocationOK jeton deconnecte refuse401/revoked-- jointure d'audit (journal du pod)OK ligne d'audit aliceexecute_query alice_admin cursor True TrueOK jamais le jeton dans l'audit0== PREUVE OK == 21/21
The proofs are published with the code: eight replayable scenarios against a real cluster, from the nominal case to adversarial ones, including a Mistral agent and Claude Code as host.
260 tests, 100% line and branch coverage.
Open source
akko-mcp-trino is published today under the Apache 2.0 licence, on PyPI and GitHub. akko-lab will be open-sourced soon. The AKKO platform is distributed under an enterprise licence. The building blocks it relies on (Trino, Iceberg, OpenMetadata, Airflow, Spark, Superset, JupyterHub, MLflow) are open source projects that we do not fork.
Governed MCP server for Trino: end-to-end identity, read only, quotas, audit, catalogue context.
The platform lab: notebooks, code environments and models, with data access governed like everything else.
Token exchange between providers (RFC 8693) to carry identity across several directories and engines.
A classification set in the catalogue becomes a policy in Ranger, and a refusal in the engine.
Who it is for
You start from an ageing Hadoop distribution or from nothing, and you want a whole data and AI platform on your Kubernetes, including without Internet access, with your directory. The platform
You already have governed data and you want a model to answer on it without ever reading what is forbidden, with an audit receipt per question and models running on your side by default. ADEN and NORA
You have a governed Trino, on ODP, Cloudera or Kubernetes, and you are asked for Cursor, Claude Code or an in-house agent on top of it. The answer fits in one command and is checked with another. akko-mcp-trino
Blog
A technical conversation about your Kubernetes, your directory, your engines and your rules. Or install a brick and tell us what is missing.
Request a demonstration The source code
contact@akko-ai.com