
Enterprise AI Compliance Overview: Data Classification, Audit Logs, and Internal Access Controls
Enterprise AI compliance overview means writing data classification, audit logs, and internal access controls as acceptables before a custom AI Agent goes live—not a poster that says “compliant,” and not “private deploy = compliant.” Typical blockers: unclear prompt/log boundaries, tool calls with no trail, missing allowlists for internal APIs. Deploy choice: /blog/when-private-deploy-is-not-default. Financial wording and human review: /blog/financial-services-agent-compliance. This is a general engineering checklist—not legal advice; regulatory conclusions belong to legal/security. GeonAI designs gateways and toolchains to your classification and audit needs; /agents are capability references only (not a public trial of 363+ presets). Email [email protected].
Why “feels safer” is not compliance
- Model brand or Chinese fluency ≠ residency and log boundaries
- Private KB with prompts still hitting a public API = incomplete residency
- Without audit fields, incidents become chat screenshots
- Write tools against production without identity/role checks = privilege bypass
1. Data classification (paste into kickoff)
| Level | In prompts/retrieval? | In logs? | Typical inference |
|---|---|---|---|
| Public | Yes | Yes (optional redaction) | Public API |
| Internal | Yes (contract/DPA) | Yes; retention in writing | API or private cloud |
| Confidential | Authorized lanes only | Minimize; avoid full-text dumps | Private cloud / on-prem |
| Restricted | Default deny; written exceptions | Default deny or hash/tokenize | Internal inference + air-gap policy |
One Agent can split lanes: public FAQ on the cloud, confidential quotes on private inference. When classification justifies local GPUs: /blog/when-private-deploy-is-not-default. RAG ACL and citations: /blog/enterprise-rag-knowledge-base-agent.
2. Minimum audit-log fields
| Field | Why | Acceptance signal |
|---|---|---|
| request_id / session_id | Tie turns and tool calls | One ID pulls the full chain |
| actor (user/service account) | Who initiated | Maps to enterprise identity |
| timestamp (UTC) | Ordering | Aligned with system clocks |
| task_type / route | Scenario and model route | Filter quote/outreach/status |
| model / gateway | Vendor and gateway version | Replay the route used |
| kb_doc_ids + version | Which knowledge hit | Prove which doc version |
| tool_name + allowlist hit | Tool use and allowlist | Detect off-allowlist calls |
| action_result (refuse/handoff) | Outcome state | Measure refuses and human confirms |
| pii_flags / redaction | Sensitivity marks | No raw ID numbers in logs |
- Retention, who may read logs, and export approval must be written—do not default to “forever full text”
- Whether full prompts are stored follows classification; confidential lanes prefer hash/summary
- Write tools (price change, email, CRM update) need before/after or idempotency keys
- POC→production metrics: /blog/poc-to-production-agent-checklist
3. Internal access-control checklist
- Identity: Agent service accounts separate from personal accounts; secrets in a vault—never in prompts
- Network: Egress allowlist only; ERP/CRM via private link/VPC—block arbitrary SSRF
- Tool allowlist: Expose only read or approved write APIs; writes default to human confirm (boundaries: /blog/custom-agent-scope-boundary-in-contract)
- ACL: Retrieval and tools isolated by role/tenant—no cross-brand or cross-customer leakage
- Environments: Separate keys and data for dev/staging/prod; never reuse prod write rights in demos
- Change control: Gateway, allowlist, and routing changes need approval and rollback (knowledge release: /blog/custom-agent-knowledge-release-rollback)
ERP/CRM tool-calling posture: /blog/agent-function-call-mcp-integration. DeepSeek private-deploy cost and ops: /blog/deepseek-private-deployment-guide.
Minimum sign-off pack before pilot
- Classification table (what may enter prompts vs logs)
- Audit field table + retention/access policy
- Egress and tool allowlists (including deny list)
- Do / don’t / human-confirm boundary tables
- Incident escalation (who freezes scale-out, who owns external wording)
How to brief GeonAI
Share industry and any written residency/security baseline, a draft classification, internal systems to connect, and audit retention expectations. Email [email protected], /pricing, or Live chat. We scope the gateway and delivery from this checklist—we do not sell an empty “compliance certificate” package.
Frequently asked questions
Does private deployment equal compliance approval?
No. Private deploy only addresses part of residency. You still need classification, audit logs, tool allowlists, and knowledge ACL—otherwise an on-prem cluster can still over-reach and cannot be reconstructed after incidents.
Must audit logs store full conversations?
It depends on classification. Public/internal may store summaries or redacted full text; confidential/restricted should minimize storage (hash/tokenize) with written access roles.
What is the most common access-control miss?
Write tools that can hit production without a dedicated service account and human-confirm gate—or unrestricted egress that enables SSRF.
Does this replace legal/security review?
No. It is an engineering checklist for procurement and delivery. Regulatory conclusions, contracts, and assessments belong to your legal and security teams.
How does this relate to “private deploy is not the default”?
That post covers when private cloud/on-prem inference is justified; this one covers audit and access controls after classification. Use both in kickoff: /blog/when-private-deploy-is-not-default.
Do the 363+ presets include a compliance architecture?
No. Presets are capability references—not your classification table, audit fields, internal allowlists, or incident path.