
Trace sensitive data before making an AI endpoint remotely reachable
A healthcare AI service is rarely a single API. Clinical records, prompts, model responses, callbacks, dashboards, logs, databases, and vendor systems can all cross different trust boundaries. This guide shows how to map those paths, classify their sensitivity and audience, and decide whether each endpoint should remain local, use private mesh access, or receive carefully controlled public connectivity. It also explains how Localtonet can provide the selected network path without treating tunneling, encryption, or private networking as proof of HIPAA compliance.
📋 What's in this guide
Why healthcare AI connectivity starts with a data-path map
Teams often begin a connectivity discussion with a narrow question such as, “How can a remote developer reach this local AI API?” That question matters, but it arrives too late in the architecture process. Before selecting a tunnel or private network, the team needs to understand what the endpoint receives, what it returns, which downstream systems it contacts, what it records, and who can reach it.
A model-facing API can appear harmless when examined in isolation. Its request may nevertheless include patient identifiers, clinical notes, medical images, laboratory results, appointment details, or other sensitive information. Its response may reproduce source material, generate a clinical summary, reveal data retrieved from another system, or include debugging details. Even when the request body contains synthetic data, associated headers, URLs, logs, traces, filenames, and callback payloads can disclose information that deserves protection.
The useful unit of analysis is therefore not just the model. It is the complete transaction path. That path begins with the initiating person or system and continues through gateways, application services, retrieval components, data stores, model runtimes, observability tools, administrative interfaces, and outbound integrations. Every crossing between systems, networks, organizations, identities, or operational roles is a trust boundary that should be documented.
This exercise should happen before an endpoint is made remotely reachable. A network path can increase accessibility, but it does not determine whether the application is authorized to process particular data. It also does not supply the full set of technical, contractual, administrative, and organizational safeguards that a regulated deployment may require.
Do not interpret a public tunnel, TLS termination, private mesh network, authentication control, or locally hosted model as proof that a healthcare system is HIPAA compliant. The supplied product information does not establish that Localtonet provides a Business Associate Agreement, HIPAA certification, healthcare-specific audit logging, or plan-specific compliance controls. Before transmitting protected health information, have the proposed architecture, contracts, data handling, and operating procedures reviewed by your security, privacy, legal, and compliance teams.
Build an inventory of endpoints and data paths

Begin with a system diagram, but do not stop at boxes and arrows. Each arrow should become an inventory entry with an owner and an explicit reason for existing. If a team cannot explain what crosses a connection and why the connection is necessary, that path is not ready for remote exposure.
Separate interfaces by purpose
Healthcare AI applications commonly combine interfaces with very different risk profiles. A prediction API used by an internal application is not equivalent to an administrative dashboard. A callback receiver is not equivalent to a read-only health check. A model endpoint processing synthetic test cases is not equivalent to a retrieval component connected to a live clinical data store.
Document these interfaces separately even when they share the same process or port. If the application does not provide a way to separate them technically, record that coupling as a design concern. Exposing one listener may unintentionally expose every route registered on that listener.
| Interface category | Questions to answer | Typical exposure concern |
|---|---|---|
| Inference or model API | What enters prompts or files, and can responses reproduce source data? | Request and response bodies may contain sensitive clinical information. |
| Clinical data connector | Which records can it read or write, and under whose identity? | A compromised service may become a route into a broader data store. |
| Administrative dashboard | Can users change models, prompts, integrations, permissions, or destinations? | Administrative functions can expand access or redirect data. |
| Callback or webhook receiver | Who sends callbacks, how are they authenticated, and can they be replayed? | A public receiver accepts unsolicited network traffic unless the application rejects it. |
| Monitoring and diagnostics | Do logs, traces, errors, or metrics include payloads or identifiers? | Diagnostic data can disclose information even when the primary database is protected. |
| Development and debugging tools | Do they expose stack traces, interactive controls, files, environment details, or test data? | Development conveniences are often unsafe to publish directly. |
| Vendor integration | What leaves the controlled environment, where does it go, and what contract applies? | Organizational and contractual boundaries may change data-handling obligations. |
Record the complete data lifecycle
For every path, record the origin, destination, protocol, direction, trigger, expected payload, sensitivity, identity mechanism, authorization rule, and retention behavior. Include whether the data is transformed before crossing the boundary. A claim that data is de-identified should identify who approved that determination and which process performs it. Removing a name alone should not be treated as an automatic or universal de-identification method.
Also record derivative data. Embeddings, summaries, labels, cached responses, extracted entities, thumbnails, filenames, and search indexes may still be sensitive depending on their content and whether they can be linked to an individual. Do not classify data as safe merely because its representation changed.
Add failure paths to the inventory. Determine what happens when the model times out, a database rejects a query, a callback fails, or an integration returns malformed data. Error handlers can send payload fragments to logs or external monitoring services. Retries can duplicate messages. Dead-letter queues and temporary directories can retain information longer than the primary workflow.
Identify every human audience
“Internal user” is too broad to be a useful access category. Distinguish application developers, machine-learning engineers, clinicians, operations personnel, security reviewers, support staff, external vendors, automated test systems, and unauthenticated internet users. Then document the minimum interface each audience requires.
A developer who needs to test an inference route may not need access to the administration panel or production data connector. An external callback provider may need to reach one receiver but should not gain network access to unrelated services. A security reviewer may need architecture information and controlled test access without receiving standing access to a live environment.
Classify trust boundaries and data sensitivity
A trust boundary exists wherever assumptions about control, identity, or data handling change. The boundary may be technical, such as movement from a workstation to a relay and then to a public client. It may be organizational, such as sending data to a vendor. It may also be operational, such as allowing a support role to use an administrative endpoint.
Mark boundaries directly on the data-flow diagram. At each crossing, ask what authenticates the caller, what authorizes the requested operation, what data is visible, what can be modified, where records are produced, and who is responsible for investigating misuse.
Use data classes that lead to action
A classification scheme is useful only when each class produces a clear handling decision. Teams may use their existing enterprise labels. For a connectivity review, the practical distinction is whether a path contains production PHI, other confidential information, properly de-identified data, synthetic data, or public information.
The phrases “de-identified” and “synthetic” should not be used casually. A synthetic record is generated for testing rather than copied from a real patient, but it can still contain secrets or unsafe content if the generation process imports production examples. A de-identified dataset requires an approved process and review appropriate to the organization’s obligations. Engineers should not make that determination solely because obvious identifiers are absent.
URLs, query strings, object names, filenames, request headers, account identifiers, timestamps, logs, traces, screenshots, and alert messages can reveal sensitive context. Include them in the review even when the primary request body is empty or encrypted in transit.
Evaluate application controls separately from transport
A network path and an application authorization decision solve different problems. Making an endpoint reachable does not establish who should be allowed to use each operation. Conversely, strong application authentication does not justify publishing unnecessary administrative or debugging routes.
For every reachable endpoint, determine whether authentication is required, whether identities are individual or shared, how authorization limits actions, how credentials are stored and rotated, and how failed or abusive requests are handled. Apply least privilege at both the network and application layers where the architecture supports it.
Choose between local-only, private mesh, and public access

Once the inventory is complete, assign an exposure scope to each path. The safest default for an unreviewed interface is local-only. Remote reachability should be introduced because a documented user or integration needs it, not merely because it is convenient.
| Access model | Appropriate starting point | Key questions |
|---|---|---|
| Local-only | Debuggers, administrative tools, unfinished APIs, sensitive data connectors, or endpoints with no remote requirement | Can the workflow be completed on the host, through a controlled local test, or by moving only synthetic test inputs? |
| Private mesh | Known devices or teams that need private network access without publishing an endpoint for general internet reachability | Which devices should participate, which network paths are necessary, and what firewall rules enforce least privilege? |
| Public HTTP tunnel | A reviewed web application, API, or callback receiver that must accept internet-originated HTTP traffic | Does the application authenticate requests, restrict routes, validate input, protect sensitive responses, and tolerate hostile traffic? |
| Public TCP or TLS tunnel | A reviewed non-HTTP service whose client requires raw port connectivity or the applicable TLS workflow | Is the protocol itself appropriate for internet exposure, and does the service provide adequate authentication and authorization? |
When an endpoint should remain local
Keep an endpoint local when remote access has no documented business requirement, its data classification is unresolved, authentication is absent, administrative and user routes cannot be separated, or the team cannot explain its logs and downstream connections. Local-only is also a sensible choice during early development when a service is changing quickly and security behavior has not stabilized.
Local-only does not mean risk-free. Local processes, users, malware, shared workstations, and insecure test data can still create exposure. It does mean the service has one fewer network path to defend while the team resolves those concerns.
When private mesh access may be narrower
Localtonet VPN Manager provides a free private mesh VPN with granular firewall rules and can bridge local LANs. This model may fit a workflow where known devices or networks need private connectivity and there is no requirement for arbitrary internet clients to initiate requests.
Private mesh access should still be designed deliberately. Define participating devices, allowed destinations, permitted ports, administrative ownership, offboarding procedures, and firewall rules. Do not interpret membership in a private network as authorization to use every application reachable through it.
When a public tunnel may be justified
A public HTTP tunnel can fit a development API, demonstration, webhook receiver, or web application that must be reached from outside the private environment. For healthcare AI development, synthetic or appropriately approved de-identified data provides a safer starting point than live PHI. The application still needs suitable authentication, route-level authorization, input validation, error handling, and data-minimization controls.
A raw TCP, UDP, combined UDP/TCP, or TLS tunnel should be selected only when the application protocol requires it and the exposure has been reviewed. HTTP semantics and protections should not be assumed for a raw port. Before exposing a database, message broker, model runtime, or management protocol directly, consider whether a narrow application API could provide the required operation with less access.
A tunnel targets a local service, not a security interpretation of individual application routes. If public users need one callback or API operation, separate that interface from administrative, diagnostic, and internal routes before exposing it. Otherwise, every route on the selected listener may become reachable through the same public endpoint.
Run a pre-exposure healthcare AI connectivity review

The following workflow is an architecture review rather than a claim of regulatory validation. Adapt approvals and evidence requirements to your organization. The goal is to produce a defensible record of what becomes reachable and why.
Define the remote-access use case
Name the person or system that needs access, the exact operation it must perform, the expected duration, and why local execution is insufficient. Avoid broad goals such as “enable remote development.”
Enumerate listeners, routes, and dependencies
List the service’s network listeners, web routes, administrative interfaces, callback endpoints, databases, model runtimes, queues, storage systems, identity providers, and vendor integrations. Include dependencies contacted only during errors or background jobs.
Trace ingress, egress, and persistence
Follow requests from their origin to every destination. Record returned data, outbound API calls, callbacks, logs, traces, caches, temporary files, indexes, backups, and retry queues.
Classify data at every hop
Apply the organization’s approved data classifications to payloads and metadata. Document whether test data is synthetic or has passed an approved de-identification process rather than relying on an informal engineering judgment.
Mark trust boundaries and owners
Identify changes in network, process, device, identity, environment, organization, and governance. Assign an accountable owner to the application and to each external integration.
Verify identity and authorization controls
Determine how each caller is authenticated, what operations that identity may perform, whether credentials are shared, and how access is removed. Network reachability should not be the application’s only authorization control.
Choose the narrowest viable access model
Select local-only operation, private mesh connectivity, or a public tunnel based on the actual audience and protocol. Expose only the service required for the documented workflow.
Obtain security, privacy, and compliance approval
Provide reviewers with the data-flow map, classifications, contracts, access design, retention behavior, incident responsibilities, and proposed test plan. Resolve whether PHI is permitted before transmitting it.
Test with non-production data
Begin with synthetic data that does not derive from real patient records unless the approved process explicitly permits otherwise. Verify authentication failures, malformed input, oversized requests, error responses, logging, and downstream calls.
Record the decision and review trigger
Document the approved endpoint, audience, protocol, exposure scope, owner, start and end conditions, and events that require re-review. Relevant triggers include route changes, new data fields, new vendors, new model behavior, and movement between environments.
Add Localtonet only after selecting the access model
With Localtonet, the client application runs on a device that can reach the selected local service. The client establishes an outbound connection to a Localtonet relay server, so the workflow does not require inbound router port forwarding, firewall changes, VPN setup, or a public IP address. Depending on the tunnel type, the result is a public URL or a public host and port.
This solves a connectivity problem. It does not decide whether an endpoint should be public, whether PHI may cross it, whether the application’s authorization is sufficient, or whether an organization has met healthcare compliance obligations.
Public HTTP access for a reviewed web endpoint
If the architecture review approves public HTTP access, create an HTTP tunnel that targets the local IP address and port of the reviewed web service. HTTP tunnels can use a Random Sub Domain, Custom Sub Domain, or Custom Domain process type, and each serves content at a public HTTPS address. Exact custom-domain DNS instructions should be checked against current documentation before configuration because they are not established in the supplied product context.
Make sure the selected local listener contains only the routes intended for that audience. If an application serves an inference API, administrator console, debug interface, and metrics page from the same listener, separate them before creating the public path.
Raw port access for non-HTTP protocols
Localtonet supports TCP, UDP, TLS, and combined UDP/TCP tunnel families. These point to a local IP address and port on, or reachable from, the connected client device. Select one only when it matches the application protocol. Do not place an HTTP service behind a raw-port design merely to avoid reviewing its web security, and do not expose a database or administrative protocol directly when a narrower application interface would meet the requirement.
Private access through VPN Manager
When the intended audience is a controlled set of devices or connected LANs, VPN Manager may be the better architecture. It provides a private mesh VPN with granular firewall rules and can bridge local LANs. Standard HTTP, TCP, UDP, TLS, combined UDP/TCP, and File Server tunnels are not VPN features. VPN Manager is the actual private mesh capability in our platform.
Documented Localtonet tunnel workflow
For an approved standard tunnel, preserve the normal lifecycle below. Dashboard options and available relay servers can vary, so obtain current values from the product rather than copying a server code or region from another environment.
Install and run the Localtonet client
Run the client on the device that hosts the reviewed service or can reach it over an approved local network path. Do not place credentials or device tokens in source code, screenshots, tickets, or article examples.
Authenticate or select the device
Use the device-specific authentication token through the supported product workflow. A token identifies the client device and must not be guessed, shared publicly, or copied into documentation.
Select an available relay server
Choose from the server or region values currently available in the dashboard. Do not hardcode a relay server code from an old guide because availability can change.
Create the appropriate tunnel configuration
Select HTTP for a reviewed web service or the matching raw-port tunnel family for a reviewed non-HTTP service. Configure the local IP address and port that identify only the intended target.
Start the tunnel and use the assigned endpoint
Creating a tunnel does not mean it is running. Start it with the Start button, then use the assigned public URL or public host and port for the approved test.
Stop or delete access when it is no longer required
A tunnel remains available only while the selected client or device is connected and the tunnel is running. Stop it after temporary work, or delete it when the path should not be reused.
Current tunnel documentation is available through the Localtonet documentation. Confirm current fields, client behavior, protocol options, and plan availability before applying a production change. We do not claim that every protocol, option, relay region, or capability is included in every subscription plan.
Treat the Localtonet device token as a secret because it identifies the client device. Do not place it in repositories, shell history examples, chat messages, or screenshots. Treat the assigned public endpoint as discoverable network information rather than as an authentication credential. The healthcare AI application should enforce its own approved identity and authorization controls.
Verify the endpoint before allowing real users or data
Verification should prove both connectivity and containment. A successful response confirms only that a path exists. The more important question is whether the path exposes exactly what was approved and fails safely when it receives unauthorized or malformed requests.
Verify locally first
Before starting remote access, test the service from the Localtonet client device. Confirm that the intended local IP address and port respond, that the expected application version is running, and that unrelated interfaces are not bound to the same listener. Check both successful and denied requests.
Use synthetic inputs during this phase. Review the application response, console output, log records, traces, temporary files, caches, and downstream calls. If the service records complete prompts or generated responses, resolve that behavior before using sensitive information.
Verify the remote route
After starting the approved tunnel or private mesh path, test from a device representing the intended audience. Confirm the expected protocol and endpoint. Then test unauthenticated access, an identity without the required permission, malformed requests, unsupported methods, missing headers, and invalid callback signatures where applicable.
Enumerate reachable web routes instead of checking only the intended path. Confirm that debug pages, framework diagnostics, API documentation, file browsers, metrics, health details, administration tools, and unrelated virtual hosts are not unintentionally exposed. For a raw-port service, verify that the target process is the expected protocol and not another service that reused the port.
Inspect every observable output
Review success responses, errors, redirects, headers, downloads, filenames, and timing behavior. Inspect logs and monitoring systems for patient data, prompt content, access tokens, session identifiers, connection strings, or detailed stack traces. Verify whether an alerting system copies error context to email, chat, ticketing, or a vendor platform.
Trigger a controlled downstream failure and observe retries, queues, and dead-letter behavior. Verify where failed payloads remain and who can retrieve them. If callback attempts are retried, check whether replay could duplicate an action in the receiving system.
| Verification area | Pass condition | Stop condition |
|---|---|---|
| Target scope | Only the reviewed service and routes are reachable. | Administrative, debug, storage, or unrelated routes are visible. |
| Authentication | Missing or invalid identity is rejected without sensitive detail. | Network reachability alone grants application access. |
| Authorization | Each identity can perform only its approved operations. | A low-privilege identity can invoke administrative or broader data functions. |
| Data handling | Synthetic test data follows the documented path and retention design. | Unexpected copies appear in logs, traces, caches, files, or integrations. |
| Error behavior | Errors are bounded, useful, and free of secrets or sensitive payloads. | Responses disclose stack traces, credentials, internal paths, or record content. |
| Lifecycle | The path stops when the tunnel is stopped or the selected client disconnects. | The team cannot identify, disable, or remove the approved access path. |
A Localtonet tunnel is available only while the selected client or device is connected and the tunnel is running. Confirm the expected behavior when the client disconnects, reconnects, or the tunnel is stopped. Creating a tunnel configuration by itself does not start it.
Operate the approved connection without expanding its scope
An approved endpoint can become unsafe when its application, data, audience, or dependencies change. Treat the data-flow map as an operational artifact rather than a one-time diagram.
Use explicit ownership and expiration
Assign an owner to every tunnel, private mesh rule, public endpoint, and application credential. Record why it exists and when it should be reviewed. Temporary development access should have a defined end condition. Stop or delete a tunnel when the test, demonstration, or integration is complete.
When a developer, vendor, or device no longer needs access, remove the relevant authorization and review whether associated credentials should be rotated. Do not rely solely on the fact that a public URL was shared with a small group.
Re-review application changes
Repeat the connectivity review when a service adds routes, accepts new file types, starts processing production data, connects to a clinical store, changes model providers, introduces retrieval, adds monitoring, or moves from development to production. A tunnel that was approved for a synthetic-data demonstration should not automatically become the path for live clinical use.
Model changes can also alter data paths. A new model may send requests to a different runtime, use external tools, retrieve broader context, or produce outputs with different disclosure risks. Agent-style workflows deserve special attention because tool calls can create outbound paths that were not present in a simple request-and-response model.
Plan for investigation and shutdown
Define who can stop the tunnel, disable application credentials, isolate the host, preserve relevant evidence, and notify internal responders. Teams should know how to identify the application owner and the business purpose of the connection without reconstructing that information during an incident.
Localtonet provides platform-wide Token/Tunnel webhooks that can report Connected or Disconnected changes for a token or tunnel in a selected Token Group. The webhook body includes an identifier, action date, type, and status. These connectivity events should not be presented as healthcare audit logs, request logs, user-activity records, or evidence of compliance. They describe token or tunnel connection state.
Connected and Disconnected events do not establish who viewed a patient record, what an AI endpoint processed, which application action occurred, or whether access was authorized. Determine application, identity, data-access, retention, and audit requirements separately with the responsible teams.
Keep the decision reversible
Prefer designs that let the team remove remote access without redesigning the application. Separate public callback listeners from administration, keep production data connectors behind narrow service interfaces, and avoid embedding a temporary public endpoint throughout multiple systems. A reversible design reduces the chance that a short development convenience becomes permanent infrastructure.
Frequently asked questions
Does using Localtonet make a healthcare AI endpoint HIPAA compliant?
No such conclusion should be drawn from the supplied product information. A tunnel or private network is one connectivity component. The context does not establish a Localtonet Business Associate Agreement, HIPAA certification, healthcare-specific audit logging, or plan-specific compliance controls. Your security, legal, privacy, and compliance teams must evaluate the complete architecture, contracts, safeguards, data uses, and operating procedures before PHI is transmitted.
Is a public tunnel appropriate for healthcare AI development?
It can be appropriate for a reviewed endpoint that genuinely needs internet-originated traffic, such as a development API or callback receiver. Begin with synthetic or properly approved de-identified data, expose only the necessary service, and enforce application authentication and authorization. Do not use a public tunnel to compensate for an unreviewed application or to publish administrative and debugging interfaces.
When should we use VPN Manager instead of an HTTP tunnel?
Consider VPN Manager when access should be limited to participating devices or connected LANs rather than offered through a public URL. VPN Manager provides a private mesh VPN with granular firewall rules. An HTTP tunnel is more appropriate when a reviewed web service must be reached by internet clients that cannot participate in the private mesh. In either case, the application should maintain its own identity and authorization controls.
Can we treat de-identified data as automatically safe for public testing?
No. The organization should use an approved de-identification process and have the result reviewed by qualified stakeholders. Engineers should not infer that data is safely de-identified merely because names or obvious identifiers were removed. Also inspect metadata, free text, filenames, images, logs, and derivative data that may retain identifying context.
Is synthetic test data enough to secure an endpoint?
Synthetic data reduces the consequence of exposing real records during testing, but it does not secure the service. The endpoint still needs authentication, authorization, input validation, safe error handling, dependency controls, secret management, and a limited exposure scope. Confirm that synthetic generation did not copy sensitive examples from production data.
Does the public Localtonet endpoint act as a secret?
No. Treat a public URL or public host and port as discoverable network information, not as proof of identity. Use approved application authentication and authorization. By contrast, a Localtonet device token identifies a client device and must be protected as a secret.
Should we expose a model runtime, database, or vector store directly?
Prefer a narrow application interface when it can provide the required operation. Directly exposing an infrastructure service can give clients broader capabilities than they need and may reveal administrative functions. If direct raw-port access is genuinely required, review the protocol, authentication, authorization, data scope, audience, and shutdown process before creating the tunnel.
What should trigger a new connectivity review?
Re-review the design when routes, listeners, data fields, users, models, tools, vendors, logs, storage, authentication, or environments change. Moving from synthetic development data to production records is a major scope change. A previously approved development tunnel should not automatically carry a production healthcare workflow.
Map the path first, then create only the access you approved
After your security, privacy, and compliance teams have classified the data flow and selected the correct exposure scope, use Localtonet to connect the reviewed local service through an appropriate public tunnel or private mesh workflow.
Get Started Free →