Entende o contexto
Lê a operação, o cliente e o histórico antes de propor qualquer coisa.
Vendas, marketing, atendimento, operação, financeiro e inteligência trabalhando sobre o mesmo contexto — para sua empresa ganhar escala sem perder controle.
Sua empresa inteira. Uma operação. IA trabalhando.
Para empresas de qualquer setor que querem crescer com estrutura, controle e inteligência.
Painel ilustrativo do Sistema Centriu com sete frentes trabalhando: atendimento, comercial, operação, agentes, inteligência, conteúdo e marketing. Cada frente mostra o trabalho concluído ou o próximo passo.
Representação ilustrativa do trabalho em execução
Não é falta de ferramenta. É que cada ferramenta resolve um pedaço, e ninguém é dono do todo. O custo disso não aparece numa fatura — aparece no mês seguinte.
Sistemas que não se falam
O mesmo dado é digitado de novo — e cada cópia conta uma história diferente.
Dados duplicados
Ninguém sabe qual versão é a verdadeira na hora de decidir.
Conversas perdidas
O cliente repete o contexto a cada canal e a cada pessoa.
Tarefas espalhadas
O trabalho vive em planilhas, mensagens e na memória de alguém.
Decisões sem contexto
A escolha é feita com o recorte que estava à mão, não com o que importava.
Automações desconectadas
Cada ferramenta automatiza um pedaço e ninguém enxerga o todo.
Nenhum desses problemas se resolve comprando mais um software. Eles se resolvem quando a operação inteira passa a trabalhar sobre o mesmo contexto.
A Centriu não é uma coleção de produtos. É uma plataforma em que clientes, áreas e agentes leem e escrevem no mesmo lugar.
Cliente 360
Um contexto, não vários cadastros
Cada conversa, tarefa, campanha, cobrança e decisão fica ligada ao cliente e à operação — não a um sistema isolado.
As áreas abaixo são partes da mesma operação, não produtos separados. Elas compartilham conta, permissões e histórico.
A inteligência artificial da Centriu participa da operação: entende contexto, prepara trabalho, executa rotinas e pede aprovação quando importa.
Lê a operação, o cliente e o histórico antes de propor qualquer coisa.
Redige, organiza, calcula e deixa pronto para revisão humana.
Roda o que é repetitivo dentro dos limites definidos pela empresa.
Cruza áreas, identifica prioridade e mostra o motivo da recomendação.
O que é sensível passa por uma pessoa antes de valer. Sem exceção silenciosa.
Registra o que aconteceu e usa o resultado para melhorar a próxima decisão.
Uma plataforma, várias frentes de trabalho. Tudo no mesmo contexto, com a IA participando do que dá para acelerar.
CRM, pipeline, oportunidades, propostas, follow-up e automações.
WhatsApp, Instagram, Messenger, chat do site e e-mail no mesmo contexto.
Tarefas, responsáveis, prazos, aprovações, agenda e capacidade.
Contas, cobranças, caixa, fiscal, margem, IR, orçamento e inteligência econômica.
Planejar, produzir, aprovar, publicar e medir conteúdo e campanhas.
Painéis, alertas, previsões, recomendações e leitura executiva.
Rotinas executadas continuamente pela IA com controle e aprovação.
Diagnóstico, estratégia, transformação, acompanhamento e especialistas.
A Centriu faz sentido quando o volume aumenta e a estrutura precisa acompanhar. Não é sobre setor nem tamanho: é sobre a operação conseguir sustentar o próximo estágio.
As vendas crescem, mas o processo não acompanha.
As áreas trabalham separadas e o cliente sente.
A operação depende de pessoas específicas.
O financeiro ficou complexo e o caixa perde visibilidade.
O atendimento cresce em volume e em canais.
A IA entra sem contexto, controle ou histórico.
Se a empresa ainda não começou a crescer, a Centriu também ajuda a preparar a estrutura para o primeiro salto.
Ver a Centriu funcionandoA Centriu combina tecnologia, inteligência, método e acompanhamento. A consultoria diagnostica, desenha, implanta e acompanha — com evidências, não com apresentação.
Diagnóstico e imersão na operação
Estratégia e prioridades
Roadmap de transformação
Desenho da arquitetura operacional
Implantação conduzida
Acompanhamento com evidências
Benchmarking e leitura de mercado
Especialistas, rede e inteligência coletiva
Uma conversa para entender onde a sua operação perde tempo, dinheiro ou capacidade — e o que a Centriu faria primeiro.
problema
Before Centriu Axiom lets an AI-recommended action run, it can simulate the action's likely impact across six dimensions. These dimensions are budget, audience, timeline, quality, risk, and compliance. It also includes three named scenarios. This way, a person can weigh the estimate before committing. An internal audit found that every one of those numbers came from `Math.random()` inside fixed ranges. They were adjusted only by a coarse risk multiplier. This means the exact same action, simulated twice in a row, produced two different scores. Nothing about the number related to what the action actually was. The interface had an honest "illustrative estimate" disclaimer. But the number outlived that disclaimer. It was written to the simulation history, to the audit trail as a `simulation_completed` event with an `overall_score`. It was also included in the conversation a person had with a client — all without the disclaimer attached. Worse, the ORIGINAL test suite for this feature only checked that six dimensions existed with scores between 0 and 100. This check is satisfied automatically by a random-number generator. This means the tests were passing because the values were made up within range, not despite it. The fix sends the action's real context to the same AI proxy the rest of the product uses. It does this at a temperature of zero so the same action always produces the same reading. It validates every field of the response before trusting it. It throws — recording no simulation at all — the moment the AI doesn't respond or its answer doesn't hold up.

Labeling an estimate as "illustrative" on the screen where it first appears is honest and genuinely useful. It tells the person looking at it, in that moment, not to treat the number as a guarantee. What that label cannot do is follow the number to every other place it goes. This includes a history table, an audit log, and a summary read aloud to a client on a call. Each of those places receives the number itself. They do not get the caveat that came with it on the original screen. A number sitting alone in an audit record or a client conversation reads as a measurement. This is true whether or not it started life as a randomly generated placeholder.
Labeling an estimate as "illustrative" on the screen where it first appears is honest and genuinely useful. It tells the person looking at it, in that moment, not to treat the number as a guarantee. What that label cannot do is follow the number to every other place it goes. This includes a history table, an audit log, and a summary read aloud to a client on a call. Each of those places receives the number itself. They do not get the caveat that came with it on the original screen. A number sitting alone in an audit record or a client conversation reads as a measurement. This is true whether or not it started life as a randomly generated placeholder.
This gap surfaced from the same internal audit that rewrote Axiom's proof-of-action mechanism. It also closed its Trust Center, Skill Library, and Policy Copilot gaps. These are covered on this pillar's companion pages. A feature not yet fully built presented itself as complete. For the Outcome Simulator specifically, the prior code's own header comment was unusually candid about the defect it described without fixing. It said: "the impact dimensions and scenarios below are HEURISTIC ESTIMATES... numeric scores are randomized within risk-weighted ranges... so the same input yields different scores on each run." The comment was accurate. The disclaimer it described was genuinely shown on screen. But neither fixed the underlying number. The audit found that the score still flowed, unlabeled, into the simulation's own history. It also flowed into an audit trail entry recording an `overall_score` as if it meant something. It went into whatever a person told a client based on it.
The fix replaces the six-dimension, three-scenario random generator with a real request to the same AI proxy already used elsewhere in the product. The action's actual context is its type, description, declared risk level, whether it requires approval, its rationale, and its full payload. This context is assembled into a structured prompt. This prompt asks the model to score the identical six dimensions and produce the identical three named scenarios. These scenarios are optimistic, base, and pessimistic. The model is explicitly instructed to justify every score against what is actually in the context. It does not invent anything not provided. The request is made with `temperature: 0`. This is specifically so the same action, submitted twice, produces the same reading. This is the exact property the prior random-based version could never offer. It is also the property a genuine measurement is expected to have.
The response is then validated field by field before anything is trusted. Every one of the six required dimensions must be present by name with a numeric score between 0 and 100. If not, the function throws naming the specific missing dimension. Every scenario must carry a valid probability between 0 and 1. It must also have a valid impact score between 0 and 100. If not, the function throws naming exactly which value was invalid. None of this validation existed as meaningfully as it needed to before. A random-number generator can't produce a malformed number. The entire category of "what if the response is wrong" barely applied to code that made up its own numbers. If the AI proxy itself fails to respond at all, the function throws immediately. It does this with an explicit comment recording the reasoning directly. Falling back to a randomly generated placeholder inside the catch block "would recreate the exact defect exactly where nobody is looking." No simulation record is created in any of these failure cases.
The accompanying test file makes the defect and its fix unusually clear for anyone reviewing this feature's history. A new comment block states plainly that the ORIGINAL test suite "only checked that 6 dimensions existed with a number between 0 and 100 — which a random generator satisfies by construction." This means the old tests were passing BECAUSE the values were fabricated within range, not despite it. The new tests specifically check the opposite of what the old ones checked. They check that the service genuinely refuses (and records nothing) when the AI doesn't respond. They also check when its response isn't valid JSON, when a required dimension is missing, and when a score falls outside the valid range. There are also two dedicated determinism tests. These confirm the exact same action produces the exact same overall score across two separate runs. They also confirm that a deliberately low-scored mock response and a deliberately high-scored one produce correspondingly low and high results. This is instead of results clustering near a fixed range regardless of input.
A real request to the same AI proxy the rest of the product uses. This is given the action's actual type, risk level, approval requirement, rationale, and payload as context. It replaces six independently randomized scores.
A fixed temperature of zero. This means the exact same action produces the exact same six-dimension score and three-scenario reading every time it is estimated.
Field-by-field validation of every dimension and scenario in the AI's response. Each has its own specific, named error rather than a generic parsing failure.
An explicit refusal — recording no simulation at all — when the AI proxy fails to respond. This is instead of falling back to a randomly generated placeholder score.
A test suite rewritten to specifically verify refusal on failure and determinism on success. This is instead of only checking that a returned number falls inside an expected range.
Confirmed still genuinely wired today. A real, active screen (`OutcomeSimulator.tsx`) calls this exact estimation path before presenting a score to anyone.
An impact estimate presented before an action executes now reflects an actual model reading of that action's real context. It does not show a randomly drawn number inside a fixed band. It carries that same integrity into the simulation history and audit trail. This is not only on the original screen where a disclaimer happened to be visible. A person relying on the score to decide whether to proceed is repeating a genuine estimate. They are not repeating a number invented to fill a UI element.
An impact estimate presented before an action executes now reflects an actual model reading of that action's real context. It does not show a randomly drawn number inside a fixed band. It carries that same integrity into the simulation history and audit trail. This is not only on the original screen where a disclaimer happened to be visible. A person relying on the score to decide whether to proceed is repeating a genuine estimate. They are not repeating a number invented to fill a UI element.
A high-risk campaign action is simulated for impact. This produces an overall score. Before the fix, simulating that identical action again moments later could produce a meaningfully different score. This could happen purely by chance, with no way to tell whether the difference meant anything. After the fix, simulating the same, unchanged action again produces the identical score. A genuinely different action, such as one carrying a materially different risk level or payload, produces a genuinely different one.

No. Before the fix, all six dimension scores came from `Math.random()` inside fixed ranges. They were adjusted only by a coarse risk multiplier. There was no other relationship to the specific action.
The tests only checked that six dimensions existed with a score between 0 and 100. This is a check any random-number generator inside that same range satisfies automatically. This is true regardless of whether a real evaluation occurred.
Yes. The AI request is made at a fixed temperature of zero. This is specifically so the identical action produces the identical reading. This is confirmed by a dedicated determinism test.
The function throws immediately and records no simulation at all. This is instead of falling back to a randomly generated placeholder score.
No. It remains an AI-generated heuristic estimate of a single action's likely impact. It is clearly framed as illustrative, not a statistical prediction from historical outcomes.
It is sold by subscription with a published starting price. Exact current values are on the central pricing page.
Before Centriu Axiom lets an AI-recommended action run, it can simulate the action's likely impact across six dimensions. These dimensions are budget, audience, timeline, quality, risk, and compliance. It also includes three named scenarios. This way, a person can weigh the estimate before committing. An internal audit found that every one of those numbers came from `Math.random()` inside fixed ranges. They were adjusted only by a coarse risk multiplier. This means the exact same action, simulated twice in a row, produced two different scores. Nothing about the number related to what the action actually was. The interface had an honest "illustrative estimate" disclaimer. But the number outlived that disclaimer. It was written to the simulation history, to the audit trail as a `simulation_completed` event with an `overall_score`. It was also included in the conversation a person had with a client — all without the disclaimer attached. Worse, the ORIGINAL test suite for this feature only checked that six dimensions existed with scores between 0 and 100. This check is satisfied automatically by a random-number generator. This means the tests were passing because the values were made up within range, not despite it. The fix sends the action's real context to the same AI proxy the rest of the product uses. It does this at a temperature of zero so the same action always produces the same reading. It validates every field of the response before trusting it. It throws — recording no simulation at all — the moment the AI doesn't respond or its answer doesn't hold up.