On this page

REFERENCE

Deploy and data flows

For IT and security reviewers. How AI NetShell installs and updates, every address it contacts, what it sends on its own, what it stores on the PC, what reaches the AI, and what our services keep.

Verified against AI NetShell 0.4.17

Purpose#

Answer the questions an IT or security reviewer asks before approving AI NetShell on company PCs, on one page. AI NetShell is a desktop application from PACKET 365 LLC, an Illinois limited liability company. It runs on the engineer's own Windows PC. There is no server or agent to install on your network.

Questions this page does not answer: [email protected].

Install#

QuestionAnswer
InstallerOne Windows installer, AI NetShell_<version>_x64-setup.exe, from ainetshell.com.
Signed byPACKET 365 LLC. The installer, the application files and the uninstaller are all signed.
Install scopePer user. The application installs to %LOCALAPPDATA%\AI NetShell.
Silent installRun the installer with /S. If AI NetShell is already running for the same user, the installer waits up to 15 seconds for it to exit, then force-closes it.
Older versionsInstalling an older version over a newer one is blocked.
UninstallUse Windows' Apps settings. Uninstalling removes the application. The data folder stays unless you tick the uninstaller's option to delete app data. Saved logins in Windows Credential Manager and case notes in Documents always stay until you delete them.

Updates#

  • The app checks https://downloads.ainetshell.com/latest.json 90 seconds after it starts, then once an hour. It accepts a download only from downloads.ainetshell.com, www.ainetshell.com or ainetshell.com.
  • It downloads an update in the background and checks it before offering it: the update's signature must match the key built into the app, its version must match the one announced, and Windows must confirm the installer is signed by PACKET 365 LLC. The file is checked again just before it installs.
  • Nothing installs until the user clicks Restart now ("Update ready. Restart to apply."). The app never restarts on its own.
  • A failed check is shown in Settings > Updates. There is also a Check for updates button there.

Addresses the app contacts#

The terminal itself (SSH, serial, remote desktop) needs no internet and no account. Everything below uses HTTPS on port 443.

AddressWhen
downloads.ainetshell.comUpdate checks and downloads.
account.ainetshell.comSign-in, keeping the sign-in current, and plan prices, only when the user has signed in.
ainetshell-cloud.ainetshell.workers.devIncluded AI requests, and the credit balance whenever the user is signed in (see below).
api.anthropic.comYour own AI with an Anthropic key. Also the target of the proxy Test connection check.
api.openai.comYour own AI with an OpenAI key.
chatgpt.com and auth.openai.comYour own AI with a ChatGPT sign-in. Sign-in uses a local callback on localhost:1455.
api.meraki.com and the *.meraki.com hosts it redirects toOnly for Meraki organizations the user adds.
id.cisco.com and apix.cisco.comOnly if the user sets up Cisco end-of-life lookups.
api.lemonsqueezy.comOnly if a license key from an older version is still stored on the PC.

Your network devices are reached directly from the PC over the connections the user opens: SSH, serial and remote desktop.

Proxy#

Settings > Network > Outbound proxy:

  • Automatic (the default) uses the HTTP_PROXY and HTTPS_PROXY environment variables. It does not read the Windows proxy setting; use Detect system proxy to copy that into Manual proxy.
  • Direct uses no proxy.
  • Manual proxy takes an HTTP or SOCKS5 proxy.

Proxies that need a user name and password are not supported yet. The proxy covers sign-in, AI, updates and licensing. Connections to your devices do not use it, and Cisco end-of-life lookups do not use it yet.

What the app sends on its own#

With no one typing, AI NetShell sends only:

  • the update check, 90 seconds after start, then hourly;
  • when the user is signed in: a sign-in refresh at start and about once an hour;
  • when the user is signed in: the credit balance from our AI service every 2 minutes and when the window regains focus, while the device list is showing, whatever AI option is chosen;
  • when the user is signed in: plan prices from the account service, at most every 10 minutes;
  • a license check at start and once a day, only if an older license key is stored;
  • discovery runs the user has scheduled, which go to the user's own devices.

None of these send device output, configurations or AI conversations to us. There is no telemetry, no usage analytics and no crash reporting.

What stays on the PC#

WhatWhere and how
Device passwords, keys, sign-in tokensWindows Credential Manager.
Inventory, settings, known SSH host keys%APPDATA%\com.ainetshell.app\shellshock\
Configuration backupsSame folder, encrypted (AES-256-GCM) with a key kept in Windows Credential Manager. Manual and pre-change backups have secrets masked when they are taken; if Windows Credential Manager is unavailable, a masked backup is saved without encryption. Discovery backups keep the full configuration so they can be restored as is, and the app refuses to save one if encryption is not available. Backups made by versions before encryption stay as they are until the next capture.
Approvals and changesAn append-only, hash-chained log in the same folder.
Case notesDocuments\AI NetShell\case-notes by default.

Exports are written where the user chooses. Exporting a discovery backup writes passwords, keys and community strings in plain text. Exporting a masked backup keeps its {{NS:...}} placeholders. The as-built package always masks configurations.

What reaches the AI#

Only when the user asks Lina. A request contains:

  • the user's question and earlier messages in that conversation,
  • the output of the read commands Lina runs, and the terminal scrollback she reads,
  • the names and OS or vendor of the sessions open in that tab, and any role baseline the user assigned to those devices,
  • the app's own instructions to Lina, including a summary of the commands she may run.

Before anything leaves the PC, known secret formats are replaced with placeholders such as {{NS:cisco-secret#1}}. The same secret always gets the same placeholder. Masked formats include private keys, Cisco passwords and secrets, SNMP communities and v3 keys, routing, AAA and NTP keys, IPsec and Wi-Fi pre-shared keys, Junos $9$ and FortiOS ENC values, bearer tokens, API keys and AWS and Google Cloud keys. IP addresses and host names are not masked. The What reaches the AI screen in the app lists every pattern that is masked.

There are two routes, and the user picks one:

  • Included AI (AI credits or a plan): the request goes to our AI service, which checks the plan and credit balance, then passes the masked request to Anthropic.
  • Your own AI (your Anthropic or OpenAI key, or a ChatGPT sign-in): the request goes straight from the PC to that provider. No AI NetShell server is in the path. When the user is signed in, the app still checks the plan and credit balance with our services, as listed above.

What our AI service keeps#

The Included AI service runs on Cloudflare Workers, operated by PACKET 365 LLC.

  • It does not store the content of requests or answers. It reads a request to check the model and the plan, forwards it, and reads the answer's token count to charge credits.
  • It keeps credit balances and daily and monthly credit totals. It does not keep a per-request record of the model, the token counts or your IP address.
  • Its logs hold short error records with internal account and plan identifiers, never prompts or answers.

What your account keeps#

When a user signs in, the account service keeps:

  • the link between their sign-in and their AI NetShell account, and the terms they accepted,
  • one record per authorized PC: a device identifier, a machine identifier the app presents, the PC's name, the city and region it was approved from, its status, and when it was last seen. The IP address is not stored. A plan covers up to 3 PCs at a time.
  • the plan and payment state from our payment provider, including the card brand and last four digits.

Details are in the Privacy Policy.

Services involved#

ServiceRoleWhat it receives
CloudflareHosts our AI service, account service and downloadsThe requests sent to those services
ClerkSign-in (Google, Microsoft or GitHub)Sign-in details
Lemon SqueezyPayments; merchant of recordThe email address verified at sign-in, and order details at checkout
AnthropicThe model behind Included AIMasked AI requests

With Your own AI, the provider you chose receives the masked requests under your own agreement with them.