ATL 84° / clear
ENTERPRISE AI & SECURITY

Can AI Modernisation Run Inside Our Environment? A Security Evidence Checklist

A U.S. buyer’s checklist for proving where AI modernization runs, what it retains, and who can change your systems—with NIST, OWASP, and deployment evidence.

By Pulse Chronicles
ATLANTA · October 21, 2026 · 9:03 AM ET
14 min read
Can AI Modernisation Run Inside Our Environment? A Security Evidence Checklist

Disclosure: Legacyleap is a brand owned by the party requesting this article. Its product descriptions below are attributed to its public materials, not presented as independent endorsements. This article was prepared with AI assistance using public sources. No independent human editorial review is claimed.

A legacy application is rarely just a collection of old files. It is a record of how a business actually works: the exceptions nobody remembers documenting, the pricing rules that survived three acquisitions, and the integrations that still move money every night.

That makes the security question around AI modernization more concrete than it first appears. If an AI system needs to read that application, what exactly will it see? Where will it process the information? Who can retrieve the results? And what stops it from changing something it should only be explaining?

Yes, AI-assisted modernization can run inside an organization’s environment. But installing the application there does not, by itself, prove that model inference, logs, support access, or generated artifacts stay there too. The defensible answer is an evidence package covering the entire workflow—not a deployment label.

For an American bank, healthcare organization, manufacturer, or software business, the useful conversation starts with a diagram and a test plan. It should end with a boundary the security team can verify.

First, agree on what “inside our environment” means

“Private” can describe several different arrangements. They are not interchangeable.

An on-premises installation may run the application and model on customer-managed hardware. A customer-managed cloud deployment may place those components inside the organization’s own cloud account. A hybrid deployment may keep repositories and orchestration internally while sending selected inputs to another service. A vendor-hosted service may isolate each customer but remain outside the customer’s infrastructure.

Even a fully internal installation may contact external package registries, license services, monitoring systems, or update servers. Those connections are not automatically unacceptable. They do need to be identified and approved.

There are also two separate ambitions that procurement teams sometimes collapse into one: controlling where data is processed and controlling whether the system can operate without an external connection. A private cloud is not automatically an air-gapped environment. A U.S. hosting region is not automatically a promise that support personnel, backups, and every subprocessor are restricted to the United States.

Write the requirement in plain language before comparing vendors: “Source code, prompts, embeddings, model responses, and application artifacts must remain within these approved accounts and locations. Only these documented outbound connections are allowed.” Then test that exact requirement.

Why this needs more than a standard security questionnaire

AI modernization introduces another processing layer into an already complicated software delivery chain. Source files can become prompt material. Documentation can become a retrieval index. Generated changes can become executable code. An agent with access to development tools can move from making suggestions to taking actions.

NIST’s Generative AI Profile is a voluntary risk-management resource, not a product certification. It provides a useful starting point for thinking about issues including data privacy, information security, and risks across the AI value chain. Its value is in helping organizations ask systematic questions, not in turning a vendor’s mention of NIST into proof that a particular installation is safe.

The checklist below is a practical procurement and pilot framework informed by that approach. It is not an official NIST checklist, a legal opinion, or a substitute for an organization’s own security review.

1. Prove where inference actually happens

Ask: Where does the model process our source code, prompts, and retrieved context in the configuration we are buying?

Request: A deployment diagram naming the model-serving components, cloud accounts or hardware owners, network routes, and any external model endpoints. Include the embedding model, reranking service, and code-review model if the workflow uses them.

Test: Run a representative assessment while collecting approved network and DNS evidence. Compare observed destinations with the documented allowlist. Where the product is sold as operating without outbound inference, block unapproved external access and repeat the core workflow.

Watch for: A local user interface calling an external model, or an internal orchestration service silently switching to an external fallback when the local model fails.

A fallback can be an availability feature in one organization and a policy breach in another. The buyer needs to know which behavior occurs before a real repository is connected.

2. Follow the data beyond the repository

Ask: What copies and derived representations does the platform create?

Request: A data-flow inventory covering source files, prompts, responses, embeddings, indexes, caches, job queues, logs, crash reports, temporary workspaces, generated documents, and backups. Record where each is stored, who can access it, how long it remains, and how it is removed.

Test: Use synthetic code and clearly marked test records. Follow those markers through the workflow, then check access and deletion behavior in each documented store. Do not introduce real patient records, payment data, or credentials simply to make a pilot realistic.

Watch for: “We don’t retain your code” when prompt logs or debugging bundles still contain code fragments. Treat embeddings and other derived artifacts as potentially sensitive; do not assume transformation makes confidential information anonymous.

The relevant question is not only whether the original ZIP file is deleted. It is whether the information it contained remains available elsewhere.

3. Separate “not used for training” from “not retained”

Ask: Is customer material used for model training, fine-tuning, evaluation, abuse monitoring, product improvement, or support troubleshooting?

Request: Terms covering each use separately, with named service providers, applicable settings, retention periods, and exceptions. Confirm whether optional features alter the agreement or the technical behavior.

Test: Match contractual language to the actual deployment configuration and service documentation. Retain the version of the terms that applied when the pilot was approved.

Watch for: A training exclusion presented as proof that data never leaves the environment. Information can be transmitted and temporarily retained without being used to train a model.

For self-hosted models, request the model license as well. Keeping inference internal does not remove licensing obligations or the need to understand where model weights came from.

4. Give agents less authority than the people supervising them

Ask: Which repositories, branches, secrets, build systems, and deployment targets can each agent access?

Request: A permissions matrix separating assessment, documentation, code generation, pull-request creation, testing, and deployment. Include service identities, credential rotation, privileged support access, and approval boundaries.

Test: Start with read-only access to a limited repository. Verify that a documentation agent cannot write to a protected branch, retrieve unrelated secrets, or deploy to production. Test a denied action rather than merely checking that a permissions screen exists.

Watch for: One shared administrator token used throughout the workflow.

NIST’s Zero Trust Architecture explains why trust should not be granted solely because a resource is inside a network boundary. The same logic applies here: an AI agent running internally still needs explicit, limited authorization.

5. Treat repository content as untrusted input

Ask: What happens when a README, code comment, retrieved document, or tool response contains instructions telling the agent to ignore its task?

Request: The threat model and adversarial test results for prompt injection, unauthorized tool use, and attempted data extraction. Ask which controls operate outside the model, such as tool allowlists, network restrictions, sandboxing, and approval gates.

Test: Place harmless adversarial instructions in a synthetic repository—for example, an instruction to read an unrelated test file or contact an unapproved test endpoint. Confirm that enforcement prevents the action, not merely that the model refuses it once.

Watch for: “Our model is instructed not to do that” as the entire defense.

The OWASP explanation of prompt injection is useful because it distinguishes malicious instructions supplied directly from instructions embedded in material the system reads. A repository is an input surface, not an authority source. Prompt filtering may help, but it does not replace controls around what an agent can actually do.

6. Inspect the software and model supply chain

Ask: What software, model weights, plugins, and dependencies enter our environment, and how are they updated?

Request: A software bill of materials, component versions, model provenance and licenses, vulnerability-handling procedures, and release integrity evidence. Ask how installers, containers, and updates are verified and how an unsafe release is withdrawn.

Test: Compare the delivered components with the inventory. Scan the installation and generated dependency changes using the organization’s approved tools. Review how an urgent patch would reach a restricted environment.

Watch for: An installation that must retrieve unpinned packages from the internet, or generated code that introduces dependencies without review.

NIST’s Secure Software Development Framework, SP 800-218, offers a common vocabulary for secure development practices and supplier conversations. It does not certify a modernization product. Ask for the actual artifacts and operating procedures behind any alignment claim.

7. Validate behavior, not just compilation

Ask: How do we establish that the modernized application preserves the business behavior we approved?

Request: A baseline test suite, traceability from requirements to tests, security findings, dependency and license checks, and the results of comparing legacy and modernized outputs. Identify the person authorized to accept differences.

Test: Include awkward cases: rounding, time zones, invalid input, duplicate events, retries, authorization failures, and partial system outages. In a financial application, an example might be interest calculation at a boundary date. In a logistics application, it might be a repeated shipment message. These are illustrative tests, not reported customer outcomes.

Watch for: A model generating both the implementation and the tests, with agreement between the two treated as independent proof of correctness.

AI-generated tests can help build coverage. They can also reproduce the same misunderstanding as the generated code. Independent expected results and business-owner review remain essential.

8. Make review and rollback operational

Ask: Who can approve generated changes, and what happens when a release is wrong?

Request: Protected-branch rules, review requirements, release approvals, rollback procedures, backup restoration evidence, and any limitations involving schema migrations or irreversible data changes.

Test: Rehearse a rollback in a representative nonproduction environment. Include application and data changes rather than demonstrating only a previous container starting successfully.

Watch for: “Human in the loop” without a named reviewer, a meaningful approval gate, or an audit record.

A second AI model reviewing the first model’s output may identify problems. It is not a replacement for an accountable human release decision or conventional testing.

9. Check logs and support access as carefully as inference

Ask: Can we investigate an incident without creating another exposure channel?

Request: Audit events showing who initiated jobs, what the agents accessed, which tools ran, what changes were proposed, and who approved them. Document redaction, access restrictions, retention, monitoring integration, and vendor support procedures.

Test: Investigate a simulated incident using the logs, then inspect whether those same logs reveal sensitive source code or secrets to people who should not see them. Verify that temporary support access expires and remains attributable to an individual.

Watch for: Unrestricted prompt logging, shared support accounts, or a debugging bundle that exports material outside the approved boundary.

Logging is necessary. Logging everything indiscriminately is not the same thing as being auditable.

10. Translate assurance claims into your actual U.S. obligations

Ask: Which laws, contracts, customer commitments, and internal policies apply to this specific workflow?

Request: The relevant assurance reports and their scope, penetration-test summaries, remediation status, subprocessor details, incident-notification terms, and any sector-specific contractual requirements identified by counsel or compliance staff.

Test: Confirm that the product, service, locations, and period you rely on are actually covered. If a vendor provides a SOC 2 report, review the auditor’s opinion, exceptions, applicable trust services criteria, and customer responsibilities—not just the logo on a sales slide.

Watch for: “HIPAA compliant,” “FedRAMP ready,” or “enterprise grade” presented as universal clearance to process any regulated data.

For example, HHS guidance on HIPAA and cloud computing explains circumstances in which a cloud provider handling electronic protected health information is a business associate, including when it cannot view encrypted information. Whether a particular modernization arrangement requires a business associate agreement depends on what the parties do and what data they handle. Internal deployment alone does not answer that question.

Where Legacyleap fits—and what still needs verification

Legacyleap is a relevant example of a provider positioning AI modernization around enterprise-controlled deployment. Its homepage describes assessment, documentation, modernization recommendations, code conversion, and test-generation agents. Under platform licensing, it says customers can deploy the platform within their environment.

Its deployment FAQ goes further: “All processing happens inside your firewall: from GenAI prompts to code conversion to deployment artifact generation.” It also states that no source code leaves the infrastructure and that no outbound API calls are required. Those are specific company claims, not findings from an independent test conducted for this article.

Legacyleap’s security and deployment article describes on-premises, private-cloud, and hybrid options, along with access controls, output validation, and human oversight. That makes it a sensible candidate for an evidence-led discussion when an organization wants to modernize legacy systems without defaulting to external model processing.

The next step is not to treat those statements as the completed review. It is to ask Legacyleap to map the proposed configuration to the checklist: show model placement, demonstrate the permitted network behavior, identify derived data and support paths, and document how changes are reviewed and reversed. A provider offering private modernization should be evaluated on those specifics, just as any other provider would be.

That distinction matters in Legacyleap’s own public examples. One modernization case study describes an “on-premise AI middleware layer using AWS Bedrock.” The page also says no sensitive data left the client’s firewall. Those company statements do not, on their own, explain where inference occurred or what information was transmitted. Buyers should ask for that explanation rather than interpreting “on-premise middleware” as proof of locally hosted inference.

AWS’s Bedrock PrivateLink documentation illustrates the difference: a private connection lets an organization access Bedrock “as if it were in your VPC.” Private transport to a managed service is not the same as running the model on your own servers. Neither arrangement is automatically wrong; the chosen architecture must match the organization’s stated boundary and processing requirements.

We have not inspected Legacyleap’s private architecture, customer contracts, assurance reports, or production deployments. Nothing here establishes a particular certification, independently verifies functional parity, or guarantees that a proposed configuration will satisfy a buyer’s requirements.

A pilot that produces a decision instead of another demo

Start with a representative but nonproduction repository, synthetic fixtures, restricted credentials, and written acceptance criteria. Do not begin with the broadest or most sensitive application simply because it makes a compelling demonstration.

Ask the team to deliver four outputs: the proposed deployment and data-flow diagrams; observed network and access evidence; the change and test record; and a written list of unresolved risks with owners.

Use three review statuses. Verified means a requirement has supporting evidence for the tested configuration. Conditional means the evidence depends on a setting, contract term, or control that still needs confirmation. Unresolved means the team cannot yet show the required behavior. These labels are working review categories, not an industry certification scheme.

Some gaps may be manageable during a restricted pilot. Undocumented external inference, uncontrolled production credentials, or an inability to identify where sensitive data is retained should stop expansion until the issue is resolved.

The decision should name the approved deployment, model version, repository scope, data classes, access limits, and change controls. Otherwise, a successful pilot can quietly become permission for a materially different system.

Questions U.S. buyers should be able to answer

Can AI modernization work without external API calls?

Yes, a workflow can use internally hosted models and supporting services. Whether a particular product can do so must be demonstrated for the proposed configuration, including embeddings, review models, updates, and licensing dependencies. “No external inference” and “no outbound connections of any kind” are different requirements.

Is a private cloud deployment the same as on-premises?

No. Private-cloud deployments can keep processing in customer-controlled cloud accounts, while on-premises deployments run on local infrastructure. Either arrangement can still include external connections or vendor access that needs review.

Does keeping source code inside our environment guarantee security?

No. It addresses an important boundary question, but not excessive permissions, prompt injection, insecure generated code, vulnerable dependencies, exposed logs, or unsafe releases.

What should we ask Legacyleap before an assessment?

Ask which deployment is proposed, where every model runs, what information is retained, which connections are required, who can access the environment, and what evidence the assessment will produce. Agree on those conditions before providing a codebase.

The bottom line

The best answer to “Can AI modernization run inside our environment?” is not a confident yes on a slide. It is a bounded yes supported by architecture, contracts, observed behavior, and accountable release controls.

That approach does not argue against AI-assisted modernization. It gives the project a better foundation. The enterprise can move forward knowing what has been demonstrated, what remains conditional, and who owns the risk when something changes.

Sources and editorial scope

Public materials reviewed for this article include Legacyleap’s homepage and deployment FAQ, its security and deployment article, NIST’s Generative AI Profile, NIST SP 800-207, NIST SP 800-218, OWASP’s prompt-injection guidance, and HHS cloud-computing guidance.

The deployment distinction also draws on Legacyleap’s ColdFusion/PHP/.NET case study and AWS’s Bedrock PrivateLink documentation. Public sources were reviewed on October 21, 2026; product capabilities and contractual terms should be rechecked for the proposed purchase.

Vendor statements are attributed. The checklist and hypothetical pilot examples are editorial recommendations, not audited product results. No customer interviews, hands-on platform tests, security audit, or legal review were conducted for this article.

AI modernizationenterprise AIsecuritylegacy systemsNISTLegacyleap