>niivo

Security

Built to be inspected.

NIIVO runs autonomous agents inside customer environments. That is only acceptable if every part of the system assumes it will be audited. This page describes the architecture; the whitepaper carries the detail.

Identity: named agents in the customer's tenant

Agents operate as named agent identities in the customer's own Microsoft Entra tenant (Microsoft Entra Agent ID). Every action appears in the customer's own audit logs, attributed to the specific agent that performed it.

  • The customer's Conditional Access policies apply to agents
  • Per-agent identities — no shared service accounts
  • Customer-controlled kill switch revokes all agent access at once

Customer tenant (Microsoft Entra)

agent: niivo-l1-deskagent: niivo-onboarding
Conditional Access appliesCustomer kill switch
Azure Key VaultCredentials brokered — never reach the model

Credentials: brokered, never through the model

Credentials are brokered from Azure Key Vault at the moment of use. The AI model never sees a secret: prompts and completions contain no credentials by construction, not by policy.

  • Secrets stay in Azure Key Vault
  • Short-lived, scoped access per action
  • Every credential access is itself an audit event

Audit: append-only and tamper-evident

Every action, credential access, and approval lands in an append-only, hash-chained audit trail. Each entry references the hash of the previous one, so removal or alteration is detectable. An operator can answer "what happened on this ticket" without trusting anyone's memory.

Audit trail
append-only

agent.action — password.reset

#9f2c41 · prev #c07d8a

credential.access — Key Vault

#3b8e1d · prev #9f2c41

approval.granted — via Teams

#a51f96 · prev #3b8e1d

Approvals: policy gates before risky actions

Every action class carries a policy: log, notify, or approve. Approval-gated actions pause until a human decides — delivered as interactive cards in Microsoft Teams. Per-customer tool blocking and spending caps bound what agents can do at all.

Approval required

Reset MFA for a VIP account

Policy gate: approve

ApproveDeny

Delivered as a card in Microsoft Teams

Data residency: Switzerland

All processing runs on Microsoft Azure Switzerland North. Swiss data residency by default, nDSG-aligned. Audit trails and case data stay in-region.

AI safety posture

We map our controls to Microsoft's taxonomy of agentic-AI failure modes: scoped tools and per-customer blocking against misuse of capability, approval gates against consequential mistakes, identity and credential brokering against privilege escalation, and the audit chain against silent failure.

For your security reviewers

Get the architecture in writing, or put your questions to the people who built it.