All success stories
AI Orchestration
Euna Solutions

Euna Turns Shadow AI Development Into Governed IT

A self-service platform that lets any Euna employee build and deploy an internal AI web application to the corporate cloud, with approval, identity, provisioning and audit executing automatically and no engineer in the critical path.

Industry
Software & SaaS
Service line
Data and AI
Timeline
Euna Turns Shadow AI Development Into Governed IT
0
Long-lived cloud credentials issued
5
layers
Separated by ownership, by design
2
commands
From idea to live URL

The challenge

AI coding assistants had made a new class of employee productive: people across Euna who could describe, and increasingly build, a small internal web application that solved a real problem in their team. What they could not do was deploy it anywhere defensible. The realistic outcomes were a spreadsheet that never became a tool, an application running on someone's laptop, or a shadow deployment on an unmanaged account outside IT and Security's field of view.

The organization faced the choice most enterprises face at this point: prohibit the activity and lose the value, or permit it and lose control. The engagement premise was that this is a false choice, and that governance can be automated as thoroughly as the code generation itself.

Our approach

BITSUMMIT built a platform in which a business user works inside an approved template kit and two Claude Code skills, while approval, provisioning, deployment and audit execute automatically across Jira, n8n, GitHub Actions, Terraform, AWS and Cloudflare. Critically, no single actor holds end-to-end control, and that separation is what enforces the approval gate and the audit trail.

Five-stage delivery chain from build through approval, provisioning, deployment and run, each stage owned by a different team, designed by BITSUMMIT

Five layers, separated by ownership

Each layer of the platform has a different owner, and none of them can complete a deployment alone.

LayerOwnerResponsibility
Claude SkillsAgent, run by app ownerGather intake, write the spec, file the approval ticket, customize the template, run the compliance and build checks, push code, monitor deployment, verify the live URL.
JiraIT / Service ManagementRoute by environment, hold the approval gate for production, store the audit fields, trigger provisioning on a status-scoped webhook.
n8nCloud OperationsValidate identity, create the repository, grant access, dispatch infrastructure, discover the resulting distribution, write results back to the ticket.
GitHub ActionsCloud OperationsBuild the frontend and backend, run database migrations, deploy to object storage, CDN and serverless compute.
Terraform / AWSInfrastructureProvision the per-application stack: serverless database, functions, API gateway, storage, CDN, secrets, IAM, monitoring and cost budgets.
Cloudflare Access + ADIT / SecurityCorporate identity in front of every deployed application. Applications read the token; none implement their own authentication.

Derive the environment, never ask for it

The platform's central design move is that the user is never asked which environment to deploy to. Asking that question invites the wrong answer. Instead the skill derives the environment silently from the intake conversation, using a first-match rule set.

RuleCondition in the intake answersResult
1Audience includes external users — vendors, partners or customersProduction
2Audience includes another team, department, or the whole companyProduction
3The application requires elevated credentials beyond the owner's own accessProduction
4The application performs sensitive actions — modifying records, exposing data to others, unattended scheduled jobsProduction
5None of the above: the owner or their immediate team, no elevated access, no sensitive actionsSandbox

Sandbox applications auto-approve within seconds, so low-risk experimentation stays frictionless. Anything with real organizational reach routes to a human approver who reads a structured description and either approves or declines, and a decline is terminal, non-appealable by the automation, and reversible only by the approver. The user experiences no interrogation about risk tiers; risk classification simply happens, correctly, in the background. Governance that depends on self-declaration fails quietly. Governance derived from the answers people give naturally holds up, because there is no box to tick incorrectly and nothing to route around.

One ticket, and it is the authoritative state

Every application is tracked through a single deployment request ticket whose status is the authoritative state of the system. Nothing proceeds out of order.

StateWhat it means
OpenThe ticket is filed automatically from the intake conversation, with the app name, environment, owner and a full structured description for approvers.
Waiting for Approval / In ProgressSandbox requests transition automatically; production requests wait for a named human approver. No application code is written before this gate clears.
Deployment ReadyThe deploy skill verifies the code against a compliance checklist, confirms the owner's source-control identity and organization membership, then transitions the ticket, firing the provisioning webhook.
In Deployment WorkflowOrchestration validates identity, creates a private repository, grants the owner administrative access, and dispatches infrastructure provisioning, writing granular sub-status back to the ticket at each step.
Waiting for UserA soft-fail state. If an organization invitation is unaccepted, the system waits and re-checks on a schedule for 24 hours rather than failing outright.
DoneInfrastructure exists, code is deployed, and the health endpoint has been verified live. The ticket becomes the permanent audit record.
FailedEvery unrecoverable path converges here with a machine-written failure reason, so the ticket always reaches a terminal state and never hangs silently.

One module invocation, one complete application stack

A single Terraform module invocation provisions a complete, isolated application stack. Every resource follows a deterministic naming convention, which is what allows the deployment pipeline to operate without reading infrastructure state.

Compute and dataDelivery and control
Serverless PostgreSQL that scales to zero capacity when idle, so a dormant application costs effectively nothingPrivate object storage plus CDN distribution, origin-access restricted
Application and migration serverless functions, VPC-placed in private subnetsMutual-TLS enforcement so the CDN and API can only be reached through the corporate edge
HTTP API gateway with the default public endpoint disabled entirelyDatabase reachable only from the application's own function security group
Managed secrets for database credentials and runtime configurationLog groups, error-rate and latency alarms, and a per-application monthly cost budget with owner alerts

A security posture that does not depend on good behavior

ControlImplementation
No long-lived cloud keysAll pipeline-to-cloud authentication uses short-lived OIDC federation. No access keys are stored in source control or CI configuration.
Least-privilege deploymentEach application's deploy role can update its own function code, write to its own storage bucket and invalidate its own CDN — and cannot create or destroy infrastructure.
Privilege separationSecret management uses a separate role from code deployment. The pipeline that accepts arbitrary code cannot read runtime secrets; the workflow that handles secrets cannot deploy code.
Edge-only ingressMutual TLS on both the CDN and the API means direct-to-origin requests fail at the TLS handshake. There is no bypass path around corporate identity.
Trust scoped per repositoryFederation trust policies are scoped to the specific application repository, so one application's pipeline cannot assume another's role.
Closed technology stackA fixed, reviewed set of frameworks and libraries. Applications cannot substitute databases, add unvetted dependencies or introduce server-side rendering without a platform-level change.

Operability, the part most platforms skip

A self-service platform that produces applications nobody can support is a liability with good marketing. Three deliverables addressed this directly.

  • Two runbooks were written and handed over — one covering the skills, ticket state machine and provisioning orchestration, one covering the infrastructure pipeline, Terraform module and application deployment workflows, including failure scenarios, validation steps and rollback procedures.
  • Every application ships with administrative health routes — recent logs, request and error metrics, deployment history and a read-only schema view — so owners and support staff can diagnose problems without cloud console access.
  • Known operational realities are documented rather than discovered, including the expected first-request warm-up when a database has auto-paused, which the platform surfaces to end users as an explicit warming state instead of an unexplained delay.

The outcome

Shadow IT became governed IT. The path of least resistance now runs through the approval gate, corporate identity and the audit trail, because it is genuinely the fastest path available. Approval became a decision rather than a project: reviewers receive a structured description of audience, data sources, elevated access and sensitive actions, and approve or decline in minutes. Engineering came out of the critical path entirely, with infrastructure provisioning, identity, deployment and monitoring requiring no ticket to a platform team and no manual cloud work.

Cost stays attributable and bounded through per-application tagging, budgets and scale-to-zero databases, so the long tail of low-traffic internal tools does not become an unexplained cloud bill. After the first deployment, redeployment is a single push and iteration is an ordinary commit, with the approval record intact and untouched. The transferable lesson is the one underneath all of it: enterprises do not lose control of AI-assisted development because the tooling is dangerous, but because the compliant route is slower than the non-compliant one. Invert that, automate the governance instead of the prohibition, and adoption and control stop being in tension.

Automate the governance instead of the prohibition, and adoption and control stop being in tension.
BITSUMMIT

Your story could be the next one.

Tell us what you're trying to modernize, secure or migrate. We'll bring a plan and a named senior engineer.

Schedule a call