Many teams, a security review, invitation-based access and a staged rollout — the sequence that gets an organization onto aiAxonIQ without a re-do.
For an organization with several teams, a security review to pass, and access
to hand out deliberately. The technical work is the same as any other path; the
sequencing is what is different.
Plan a quarter, not a week. First data in an hour, one team productive in
a week, an organization in a quarter. The long pole is almost never the
installation.
Everything here is expensive to change once telemetry has accumulated.
1
How many organizations
An organization is the isolation boundary: separate telemetry, keys, users
and plan, with no cross-organization view.Most enterprises want one — with deployment.environment and
service.namespace separating environments and teams — because every
additional organization means another place to look and another set of
dashboards nobody shares.Choose more than one only where the requirement is genuinely access
control: a regulated workload, a customer-isolated deployment, a
subsidiary that must not see the rest. See
Organizations and multi-tenancy.
2
A naming convention
service.name, service.namespace, deployment.environment. Agree it
once, centrally, and write it down before the first team instruments
anything — retro-fitting a convention across forty services is a quarter of
someone’s time.See Resource attributes.
3
Who holds which role
Viewer for most people. Editor for whoever maintains dashboards and alerts.
Admin sparingly. Auditor for compliance reviewers — it grants audit-log
access and no ability to change anything, which is exactly right and is
frequently the role people did not know to ask for.See Roles and permissions.
4
What must never be sent
Telemetry is append-only with no surgical delete, so this must be decided
before ingest rather than cleaned up after. Redaction belongs at the
Collector, in your network. See
Collector configuration.
Exactly one outbound destination over TLS, authenticated by a license key.
The Collector is the single egress point, and it is the place to enforce
what may and may not leave. See Ingest endpoints.
Isolation between organizations
Tenancy is attached at the receiver from your license key and never read
from the payload, so an exporter cannot claim to be someone else. Every
query filters on it, and a request naming another organization is refused
rather than silently corrected.
Credential handling
License keys are shown once and stored only as a hash. They are revocable
individually, so a compromised key is a rotation rather than an incident.
Issue separate keys per environment and per agent — see
Create a license key.
Support access
aiAxonIQ support access is time-limited and recorded in your audit log,
not only in an internal one. That is a control you can verify rather than a
policy you have to accept. See Audit log.
If eBPF instrumentation is in scope
It grants kernel capabilities on every node, and
Security model is written to be forwarded to a
reviewer unedited.Two things a reviewer will find, so raise them yourself: there has been
no external security review, and TLS library coverage is unmeasured.
Both are stated on that page. Presenting them before your reviewer finds
them is the difference between a caveat and a credibility problem.
Decide who gets in, and get them in, before the pilot starts.
There is no single sign-on today. aiAxonIQ does not federate with an
identity provider — there is no SAML or OIDC application to register, and no
directory group that maps to a role. Every person arrives through an
invitation and holds a role set inside aiAxonIQ.Plan for that in the rollout schedule. An enterprise programme that assumed
it could switch SSO on and let a directory do the onboarding has to fall back
to inviting people, and that is a different amount of work.
Membership is therefore always an explicit, audited act rather than a side
effect of a group change — which is the property a reviewer usually wants, and
is worth saying out loud in Phase 2. See
Roles and permissions and
Invite your team.
A team that currently cannot answer a question they care about. A
volunteer with nothing to diagnose produces a pilot that proves nothing.
2
Instrument one complete request path
End to end across every service it touches. A complete trace across five
services demonstrates the value; partial coverage of twenty demonstrates
the opposite.
3
Get to one real incident
The pilot succeeds when someone diagnoses something with it faster than
they would have otherwise. Nothing else convinces an organization.
4
Write down what the team had to do
That becomes your internal runbook, and it is what makes team six take an
afternoon instead of a week.
A Collector configuration and a set of environment variables they copy.
Every team deriving their own from the documentation produces forty
variations and forty naming conventions.
Watch usage from the first month
Exceeding a volume allowance does not stop ingest, so nothing fails to warn
you — the first signal is the invoice. Settings → Usage, monthly. See
Plan limits.
Centralise filtering and sampling at the gateway
One place, not forty. Health-check filtering and tail sampling belong on
the shared gateway where they can be reasoned about. See
Sampling.
Cover what will never be instrumented
Every enterprise has services nobody owns and vendor images nobody can
rebuild. eBPF instrumentation covers them without a code change — early
access, and it needs the security conversation in phase 2. See
Zero-code instrumentation.
Export the audit log on a schedule
The audit log is not exempt from retention. If compliance requires records
for longer than the platform keeps them, a periodic export is the
mechanism — there is no archive to request later. See
Audit log.
Naming drift. Six teams, six conventions, and a service list nobody can
read. This is the failure that shows up in month three and costs the most to
fix. Publish the convention, and check it at pilot rather than at scale.
Alert fatigue. Every team creating twenty rules on day one produces a
channel everyone mutes. Cap it: two or three rules per service to begin with,
and require that each one be tested after saving — a rule with an
unimplemented comparator is created without complaint and never fires. See
Alerting.
Volume surprise. Debug logging in one busy service, or one metric label
carrying a request id, can multiply ingest overnight. Both are silent. Check
usage in month one, not month four.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"aiAxonIQ","description":"Documentation for aiAxonIQ — send OpenTelemetry logs, metrics and traces, then search, alert and investigate.","colors":{"primary":"#006B80","light":"#22C7E6","dark":"#006B80"},"logo":{"light":"https://mintcdn.com/ai-axon-iq/WoiAVV8vwflLeOvu/logo/light.png?fit=max\u0026auto=format\u0026n=WoiAVV8vwflLeOvu\u0026q=85\u0026s=120e1abae07a4f35e810a38791d7339c","dark":"https://mintcdn.com/ai-axon-iq/WoiAVV8vwflLeOvu/logo/dark.png?fit=max\u0026auto=format\u0026n=WoiAVV8vwflLeOvu\u0026q=85\u0026s=4433b29b3d983ee9529c0446d9a1b2f3","href":"https://aiaxoniq.com"},"favicon":"https://mintcdn.com/ai-axon-iq/WoiAVV8vwflLeOvu/favicon.png?fit=max\u0026auto=format\u0026n=WoiAVV8vwflLeOvu\u0026q=85\u0026s=b662761f53474416b3bb238d403eb92c","appearance":{"default":"system"},"background":{"color":{"light":"#F5F4F0","dark":"#0A0C0F"}},"navbar":{"links":[{"href":"https://play.aiaxoniq.com/playground","label":"Try the playground"},{"href":"https://aiaxoniq.com/contact","label":"Support"}],"primary":{"type":"button","label":"Open dashboard","href":"https://app.aiaxoniq.com"}},"footer":{"socials":{"website":"https://aiaxoniq.com","linkedin":"https://www.linkedin.com/company/aiaxoniq"},"links":[{"header":"Product","items":[{"label":"Overview","href":"https://aiaxoniq.com/product"},{"label":"Use cases","href":"https://aiaxoniq.com/customers"},{"label":"Changelog","href":"https://aiaxoniq.com/changelog"}]},{"header":"Documentation","items":[{"label":"Quickstart","href":"https://docs.aiaxoniq.com/get-started/quickstart"},{"label":"Send data","href":"https://docs.aiaxoniq.com/send-data/overview"},{"label":"API reference","href":"https://docs.aiaxoniq.com/api-reference/introduction"}]},{"header":"Company","items":[{"label":"About","href":"https://aiaxoniq.com/about"},{"label":"Contact","href":"https://aiaxoniq.com/contact"},{"label":"Security","href":"https://aiaxoniq.com/security"}]},{"header":"Legal","items":[{"label":"Privacy","href":"https://aiaxoniq.com/privacy"},{"label":"Terms","href":"https://aiaxoniq.com/terms"},{"label":"DPA","href":"https://aiaxoniq.com/dpa"}]}]},"search":{"prompt":"Search the aiAxonIQ docs"},"seo":{"metatags":{"og:site_name":"aiAxonIQ Documentation","og:type":"website","og:image":"https://docs.aiaxoniq.com/images/og-default.png","og:image:width":"1200","og:image:height":"630","og:image:alt":"aiAxonIQ documentation — send OpenTelemetry logs, metrics and traces","twitter:card":"summary_large_image","twitter:image":"https://docs.aiaxoniq.com/images/og-default.png","twitter:title":"aiAxonIQ Documentation","twitter:description":"Send OpenTelemetry logs, metrics and traces to aiAxonIQ, then search, alert and investigate.","robots":"index, follow"},"indexing":"navigable"},"fonts":{"family":"Inter"},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"ai-axon-iq","hasAudioNarration":false,"actualSubdomain":"ai-axon-iq","customDomains":["docs.aiaxoniq.com"],"gitSource":{"type":"github","owner":"aiaxoniq","repo":"aiaxoniq","deployBranch":"master","contentDirectory":"docs-portal","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6ae62842b1d87e83eee6c688","collectionId":"7b0a98ab-2b4a-4d8c-a130-2dc3588fd952","liveDeploymentHistoryId":"6ae62842b1d87e83eee6c688","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ae62842b1d87e83eee6c688","clientVersion":"0.0.4067","searchFilterCounts":[{"language":"default","tag":"API reference","count":758},{"language":"default","tag":"Endpoints","count":757},{"language":"default","tag":"Alerts","count":75},{"language":"default","tag":"Users and roles","count":71},{"language":"default","tag":"SIEM","count":65},{"language":"default","tag":"Services","count":55},{"language":"default","tag":"Logs","count":47},{"language":"default","tag":"Authentication","count":35},{"language":"default","tag":"Get started","count":34},{"language":"default","tag":"Dashboards","count":34}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"onboarding/enterprise","slug":"/onboarding/enterprise","pageMetadata":{"title":"Onboarding: enterprise","description":"Many teams, a security review, invitation-based access and a staged rollout — the sequence that gets an organization onto aiAxonIQ without a re-do.","icon":"building-columns","href":"/onboarding/enterprise"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Many teams, a security review, invitation-based access and a staged rollout — the sequence that gets an organization onto aiAxonIQ without a re-do.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,em:`em`,p:`p`,strong:`strong`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Card,CardGroup,Heading,Info,Step,Steps,Warning}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`For an organization with several teams, a security review to pass, and access\nto hand out deliberately. The technical work is the same as any other path; the\nsequencing is what is different.`}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Plan a quarter, not a week.`}),` First data in an hour, one team productive in\na week, an organization in a quarter. The long pole is almost never the\ninstallation.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`phase-1-—-decide-the-boundaries`,children:`Phase 1 — Decide the boundaries`}),`\n`,_jsx(_components.p,{children:`Everything here is expensive to change once telemetry has accumulated.`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`How many organizations`,children:[_jsxs(_components.p,{children:[`An organization is the isolation boundary: separate telemetry, keys, users\nand plan, with `,_jsx(_components.strong,{children:`no cross-organization view`}),`.`]}),_jsxs(_components.p,{children:[`Most enterprises want `,_jsx(_components.strong,{children:`one`}),` — with `,_jsx(_components.code,{children:`deployment.environment`}),` and\n`,_jsx(_components.code,{children:`service.namespace`}),` separating environments and teams — because every\nadditional organization means another place to look and another set of\ndashboards nobody shares.`]}),_jsxs(_components.p,{children:[`Choose more than one only where the requirement is genuinely `,_jsx(_components.em,{children:`access\ncontrol`}),`: a regulated workload, a customer-isolated deployment, a\nsubsidiary that must not see the rest. See\n`,_jsx(_components.a,{href:`/concepts/organizations`,children:`Organizations and multi-tenancy`}),`.`]})]}),_jsxs(Step,{title:`A naming convention`,children:[_jsxs(_components.p,{children:[_jsx(_components.code,{children:`service.name`}),`, `,_jsx(_components.code,{children:`service.namespace`}),`, `,_jsx(_components.code,{children:`deployment.environment`}),`. Agree it\nonce, centrally, and write it down before the first team instruments\nanything — retro-fitting a convention across forty services is a quarter of\nsomeone’s time.`]}),_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/send-data/otel/resource-attributes`,children:`Resource attributes`}),`.`]})]}),_jsxs(Step,{title:`Who holds which role`,children:[_jsxs(_components.p,{children:[`Viewer for most people. Editor for whoever maintains dashboards and alerts.\nAdmin sparingly. `,_jsx(_components.strong,{children:`Auditor`}),` for compliance reviewers — it grants audit-log\naccess and no ability to change anything, which is exactly right and is\nfrequently the role people did not know to ask for.`]}),_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/concepts/roles`,children:`Roles and permissions`}),`.`]})]}),_jsx(Step,{title:`What must never be sent`,children:_jsxs(_components.p,{children:[`Telemetry is append-only with no surgical delete, so this must be decided\n`,_jsx(_components.em,{children:`before`}),` ingest rather than cleaned up after. Redaction belongs at the\nCollector, in your network. See\n`,_jsx(_components.a,{href:`/send-data/otel/collector-config`,children:`Collector configuration`}),`.`]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`phase-2-—-security-review`,children:`Phase 2 — Security review`}),`\n`,_jsxs(AccordionGroup,{children:[_jsx(Accordion,{title:`What leaves your network`,icon:`network-wired`,id:`what-leaves-your-network`,children:_jsxs(_components.p,{children:[`Exactly one outbound destination over TLS, authenticated by a license key.\nThe Collector is the single egress point, and it is the place to enforce\nwhat may and may not leave. See `,_jsx(_components.a,{href:`/send-data/endpoints`,children:`Ingest endpoints`}),`.`]})}),_jsx(Accordion,{title:`Isolation between organizations`,icon:`lock`,id:`isolation-between-organizations`,children:_jsx(_components.p,{children:`Tenancy is attached at the receiver from your license key and never read\nfrom the payload, so an exporter cannot claim to be someone else. Every\nquery filters on it, and a request naming another organization is refused\nrather than silently corrected.`})}),_jsx(Accordion,{title:`Credential handling`,icon:`key`,id:`credential-handling`,children:_jsxs(_components.p,{children:[`License keys are shown once and stored only as a hash. They are revocable\nindividually, so a compromised key is a rotation rather than an incident.\nIssue separate keys per environment and per agent — see\n`,_jsx(_components.a,{href:`/get-started/license-keys`,children:`Create a license key`}),`.`]})}),_jsx(Accordion,{title:`Support access`,icon:`user-shield`,id:`support-access`,children:_jsxs(_components.p,{children:[`aiAxonIQ support access is time-limited and recorded in `,_jsx(_components.strong,{children:`your`}),` audit log,\nnot only in an internal one. That is a control you can verify rather than a\npolicy you have to accept. See `,_jsx(_components.a,{href:`/guides/audit`,children:`Audit log`}),`.`]})}),_jsxs(Accordion,{title:`If eBPF instrumentation is in scope`,icon:`microchip`,id:`if-ebpf-instrumentation-is-in-scope`,children:[_jsxs(_components.p,{children:[`It grants kernel capabilities on every node, and\n`,_jsx(_components.a,{href:`/zero-code/security`,children:`Security model`}),` is written to be forwarded to a\nreviewer unedited.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Two things a reviewer will find, so raise them yourself:`}),` there has been\n`,_jsx(_components.strong,{children:`no external security review`}),`, and TLS library coverage is unmeasured.\nBoth are stated on that page. Presenting them before your reviewer finds\nthem is the difference between a caveat and a credibility problem.`]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`phase-3-—-access`,children:`Phase 3 — Access`}),`\n`,_jsx(_components.p,{children:`Decide who gets in, and get them in, before the pilot starts.`}),`\n`,_jsxs(Warning,{children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`There is no single sign-on today.`}),` aiAxonIQ does not federate with an\nidentity provider — there is no SAML or OIDC application to register, and no\ndirectory group that maps to a role. Every person arrives through an\ninvitation and holds a role set inside aiAxonIQ.`]}),_jsx(_components.p,{children:`Plan for that in the rollout schedule. An enterprise programme that assumed\nit could switch SSO on and let a directory do the onboarding has to fall back\nto inviting people, and that is a different amount of work.`})]}),`\n`,_jsxs(_components.p,{children:[`Membership is therefore always an explicit, audited act rather than a side\neffect of a group change — which is the property a reviewer usually wants, and\nis worth saying out loud in Phase 2. See\n`,_jsx(_components.a,{href:`/concepts/roles`,children:`Roles and permissions`}),` and\n`,_jsx(_components.a,{href:`/get-started/accounts`,children:`Invite your team`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`phase-4-—-pilot-with-one-team`,children:`Phase 4 — Pilot with one team`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Choose a team with a real problem`,children:_jsx(_components.p,{children:`A team that currently cannot answer a question they care about. A\nvolunteer with nothing to diagnose produces a pilot that proves nothing.`})}),_jsx(Step,{title:`Instrument one complete request path`,children:_jsx(_components.p,{children:`End to end across every service it touches. A complete trace across five\nservices demonstrates the value; partial coverage of twenty demonstrates\nthe opposite.`})}),_jsx(Step,{title:`Get to one real incident`,children:_jsx(_components.p,{children:`The pilot succeeds when someone diagnoses something with it faster than\nthey would have otherwise. Nothing else convinces an organization.`})}),_jsx(Step,{title:`Write down what the team had to do`,children:_jsx(_components.p,{children:`That becomes your internal runbook, and it is what makes team six take an\nafternoon instead of a week.`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`phase-5-—-roll-out`,children:`Phase 5 — Roll out`}),`\n`,_jsxs(AccordionGroup,{children:[_jsx(Accordion,{title:`Give teams a template, not a document`,icon:`copy`,id:`give-teams-a-template-not-a-document`,children:_jsx(_components.p,{children:`A Collector configuration and a set of environment variables they copy.\nEvery team deriving their own from the documentation produces forty\nvariations and forty naming conventions.`})}),_jsx(Accordion,{title:`Watch usage from the first month`,icon:`gauge`,id:`watch-usage-from-the-first-month`,children:_jsxs(_components.p,{children:[`Exceeding a volume allowance does not stop ingest, so nothing fails to warn\nyou — the first signal is the invoice. `,_jsx(_components.strong,{children:`Settings → Usage`}),`, monthly. See\n`,_jsx(_components.a,{href:`/concepts/limits`,children:`Plan limits`}),`.`]})}),_jsx(Accordion,{title:`Centralise filtering and sampling at the gateway`,icon:`filter`,id:`centralise-filtering-and-sampling-at-the-gateway`,children:_jsxs(_components.p,{children:[`One place, not forty. Health-check filtering and tail sampling belong on\nthe shared gateway where they can be reasoned about. See\n`,_jsx(_components.a,{href:`/send-data/otel/sampling`,children:`Sampling`}),`.`]})}),_jsx(Accordion,{title:`Cover what will never be instrumented`,icon:`wand-magic-sparkles`,id:`cover-what-will-never-be-instrumented`,children:_jsxs(_components.p,{children:[`Every enterprise has services nobody owns and vendor images nobody can\nrebuild. eBPF instrumentation covers them without a code change — early\naccess, and it needs the security conversation in phase 2. See\n`,_jsx(_components.a,{href:`/zero-code/overview`,children:`Zero-code instrumentation`}),`.`]})}),_jsx(Accordion,{title:`Export the audit log on a schedule`,icon:`clipboard-list`,id:`export-the-audit-log-on-a-schedule`,children:_jsxs(_components.p,{children:[`The audit log is not exempt from retention. If compliance requires records\nfor longer than the platform keeps them, a periodic export is the\nmechanism — there is no archive to request later. See\n`,_jsx(_components.a,{href:`/guides/audit`,children:`Audit log`}),`.`]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`what-will-actually-go-wrong`,children:`What will actually go wrong`}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Naming drift.`}),` Six teams, six conventions, and a service list nobody can\nread. This is the failure that shows up in month three and costs the most to\nfix. Publish the convention, and check it at pilot rather than at scale.`]})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Alert fatigue.`}),` Every team creating twenty rules on day one produces a\nchannel everyone mutes. Cap it: two or three rules per service to begin with,\nand require that each one be tested after saving — a rule with an\nunimplemented comparator is created without complaint and never fires. See\n`,_jsx(_components.a,{href:`/guides/alerts/overview`,children:`Alerting`}),`.`]})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Volume surprise.`}),` Debug logging in one busy service, or one metric label\ncarrying a request id, can multiply ingest overnight. Both are silent. Check\nusage in month one, not month four.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`next`,children:`Next`}),`\n`,_jsxs(CardGroup,{cols:3,children:[_jsx(Card,{title:`Roles and permissions`,icon:`user-shield`,href:`/concepts/roles`,children:_jsx(_components.p,{children:`What each role can do, and who may grant it.`})}),_jsx(Card,{title:`Kubernetes`,icon:`dharmachakra`,href:`/onboarding/kubernetes`,children:_jsx(_components.p,{children:`The technical path most enterprises take.`})}),_jsx(Card,{title:`Zero-code security model`,icon:`shield-halved`,href:`/zero-code/security`,children:_jsx(_components.p,{children:`The document to forward to a reviewer.`})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Onboarding: enterprise","description":"Many teams, a security review, invitation-based access and a staged rollout — the sequence that gets an organization onto aiAxonIQ without a re-do.","icon":"building-columns","href":"/onboarding/enterprise"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Phase 1 — Decide the boundaries","slug":"phase-1-—-decide-the-boundaries","depth":2,"children":[]},{"title":"Phase 2 — Security review","slug":"phase-2-—-security-review","depth":2,"children":[]},{"title":"Phase 3 — Access","slug":"phase-3-—-access","depth":2,"children":[]},{"title":"Phase 4 — Pilot with one team","slug":"phase-4-—-pilot-with-one-team","depth":2,"children":[]},{"title":"Phase 5 — Roll out","slug":"phase-5-—-roll-out","depth":2,"children":[]},{"title":"What will actually go wrong","slug":"what-will-actually-go-wrong","depth":2,"children":[]},{"title":"Next","slug":"next","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"ai-axon-iq","siteName":"aiAxonIQ","title":"Onboarding: enterprise - aiAxonIQ","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-06T16:37:05.469Z","originalFileLocation":"onboarding/enterprise.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Many teams, a security review, invitation-based access and a staged rollout — the sequence that gets an organization onto aiAxonIQ without a re-do.\">\u003cmeta data-mint-head name=\"application-name\" content=\"aiAxonIQ\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"index, follow\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/ai-axon-iq/2wGnplOLGG1HbyBX/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/ai-axon-iq/2wGnplOLGG1HbyBX/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/ai-axon-iq/2wGnplOLGG1HbyBX/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/ai-axon-iq/2wGnplOLGG1HbyBX/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/ai-axon-iq/2wGnplOLGG1HbyBX/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/ai-axon-iq/2wGnplOLGG1HbyBX/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/ai-axon-iq/2wGnplOLGG1HbyBX/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/ai-axon-iq/2wGnplOLGG1HbyBX/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/ai-axon-iq/2wGnplOLGG1HbyBX/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Onboarding: enterprise - aiAxonIQ\">\u003cmeta data-mint-head property=\"og:description\" content=\"Many teams, a security review, invitation-based access and a staged rollout — the sequence that gets an organization onto aiAxonIQ without a re-do.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"aiAxonIQ Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.aiaxoniq.com/onboarding/enterprise\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://docs.aiaxoniq.com/images/og-default.png\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"aiAxonIQ Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Send OpenTelemetry logs, metrics and traces to aiAxonIQ, then search, alert and investigate.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://docs.aiaxoniq.com/images/og-default.png\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/ai-axon-iq/2wGnplOLGG1HbyBX/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"aiAxonIQ\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#006B80\">\u003cmeta data-mint-head name=\"og:image:alt\" content=\"aiAxonIQ documentation — send OpenTelemetry logs, metrics and traces\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.aiaxoniq.com/onboarding/enterprise\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/onboarding/enterprise.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.aiaxoniq.com/#organization\",\"name\":\"aiAxonIQ\",\"url\":\"https://docs.aiaxoniq.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/ai-axon-iq/WoiAVV8vwflLeOvu/logo/light.png?fit=max\u0026auto=format\u0026n=WoiAVV8vwflLeOvu\u0026q=85\u0026s=120e1abae07a4f35e810a38791d7339c\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.aiaxoniq.com#website\",\"name\":\"aiAxonIQ\",\"url\":\"https://docs.aiaxoniq.com\",\"publisher\":{\"@id\":\"https://docs.aiaxoniq.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.aiaxoniq.com/onboarding/enterprise#webpage\",\"url\":\"https://docs.aiaxoniq.com/onboarding/enterprise\",\"name\":\"Onboarding: enterprise\",\"description\":\"Many teams, a security review, invitation-based access and a staged rollout — the sequence that gets an organization onto aiAxonIQ without a re-do.\",\"dateModified\":\"2026-09-06T16:37:05.469Z\",\"isPartOf\":{\"@id\":\"https://docs.aiaxoniq.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.aiaxoniq.com/onboarding/enterprise#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.aiaxoniq.com/onboarding/enterprise#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Choose your path\",\"item\":\"https://docs.aiaxoniq.com/onboarding/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Onboarding: enterprise\",\"item\":\"https://docs.aiaxoniq.com/onboarding/enterprise\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.aiaxoniq.com/onboarding/enterprise#article\",\"headline\":\"Onboarding: enterprise\",\"name\":\"Onboarding: enterprise\",\"description\":\"Many teams, a security review, invitation-based access and a staged rollout — the sequence that gets an organization onto aiAxonIQ without a re-do.\",\"url\":\"https://docs.aiaxoniq.com/onboarding/enterprise\",\"mainEntityOfPage\":{\"@id\":\"https://docs.aiaxoniq.com/onboarding/enterprise#webpage\"},\"image\":\"https://docs.aiaxoniq.com/images/og-default.png\",\"dateModified\":\"2026-09-06T16:37:05.469Z\",\"publisher\":{\"@id\":\"https://docs.aiaxoniq.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.aiaxoniq.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"aiAxonIQ\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"aiAxonIQ","nav":{"global":null,"tabs":[{"tab":"Get started","icon":"rocket","groups":[{"group":"Get started","icon":"rocket","pages":[{"title":"aiAxonIQ documentation","sidebarTitle":"Overview","mode":"wide","href":""},{"title":"Quickstart","icon":"rocket","href":"/get-started/quickstart"},{"title":"Verify your data arrived","icon":"circle-check","href":"/get-started/verify-data"},{"title":"Your first hour","icon":"hourglass-start","href":"/get-started/first-steps"},{"title":"Try it in the playground","sidebarTitle":"Try the playground","href":"/get-started/playground"},{"title":"Product tour","icon":"compass","href":"/get-started/product-tour"}]},{"group":"Accounts and access","icon":"key","pages":[{"title":"Create your account and sign in","icon":"user-plus","href":"/get-started/accounts"},{"title":"Authentication","icon":"shield-halved","href":"/get-started/authentication"},{"title":"Create a license key","icon":"key","href":"/get-started/license-keys"}]},{"group":"Choose your path","icon":"map","pages":[{"title":"Choose your onboarding path","icon":"map","href":"/onboarding/overview"},{"title":"Onboarding: SaaS customer","icon":"cloud","href":"/onboarding/saas"},{"title":"Onboarding: developer","icon":"laptop-code","href":"/onboarding/developer"},{"title":"Onboarding: Docker","icon":"docker","href":"/onboarding/docker"},{"title":"Onboarding: Kubernetes","description":"A cluster from empty to instrumented — the DaemonSet and gateway shape, and the four decisions that are expensive to reverse.","icon":"dharmachakra","href":"/onboarding/kubernetes"},{"title":"Onboarding: enterprise","icon":"building-columns","href":"/onboarding/enterprise"},{"title":"Onboarding: self-hosted","description":"What is available today if aiAxonIQ runs in your own environment, what these docs cover, and what comes with the deployment instead.","icon":"server","href":"/onboarding/self-hosted"}]},{"group":"Concepts","icon":"lightbulb","pages":[{"title":"How aiAxonIQ works","icon":"diagram-project","href":"/get-started/how-it-works"},{"title":"Platform architecture","icon":"sitemap","href":"/concepts/architecture"},{"title":"Signals and the data model","icon":"diagram-project","href":"/concepts/data-model"},{"title":"Projects, services and environments","icon":"layer-group","href":"/concepts/projects-services-environments"},{"title":"Organizations and multi-tenancy","icon":"building","href":"/concepts/organizations"},{"title":"Roles and permissions","icon":"user-shield","href":"/concepts/roles"},{"title":"Data retention","icon":"calendar-days","href":"/concepts/retention"},{"title":"Plan limits and usage","icon":"gauge-high","href":"/concepts/limits"}]},{"group":"Security","icon":"lock","pages":[{"title":"Security overview","icon":"shield-halved","href":"/security/overview"},{"title":"Tenant isolation","icon":"building-lock","href":"/security/tenant-isolation"},{"title":"Data handling","icon":"database","href":"/security/data-handling"},{"title":"Self-hosted security checklist","icon":"list-check","href":"/security/self-hosted-hardening"}]}]},{"tab":"Send data","icon":"arrow-right-to-bracket","pages":[{"title":"Send data","href":"/send-data/overview"}]},{"tab":"Zero-code","icon":"wand-magic-sparkles","pages":[{"title":"Zero-code","href":"/zero-code/overview"}]},{"tab":"Guides","icon":"book-open","pages":[{"title":"Guides","href":"/guides/logs/search"}]},{"tab":"API reference","icon":"code","pages":[{"title":"API reference","href":"/api-reference/introduction"}]},{"tab":"Support","icon":"life-ring","pages":[{"title":"Support","href":"/support/troubleshooting"}]}]},"basePath":"","title":"Onboarding: enterprise - aiAxonIQ","buildId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","deploymentId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","dynamics":[],"chunks":[]}