UNCLASSIFIED
UNCLASSIFIED
ISS LLC · SDVOSB (cert in progress) · CAGE 9VKK3 · UEI C7YDV3P8EHL7 · Who we are · Watcher health · SHIELD/ATLAS home

SHIELD/ATLAS — Demo Stack

Closes the gap between /vertical-loop (claim) and a live screen-share demo (proof). Three components, all open-source, all running on a single laptop. Once standing, any vertical-loop curl chain results in a CoT track lighting up ATAK-CIV in real time.

Why this matters. Curl chains demonstrate API correctness; an ATAK pin appearing on a map demonstrates the SoS thread closing. Reviewers move from "does it work?" to "when can my unit get this?" once they see the second.

Components

ComponentPurposeInstallNotes
FreeTAKServer (FTS)
port: 8087 (CoT TCP) / 8089 (TLS) / 8443 (UI)
Open-source TAK CoT bus — receives ATLAS-emitted CoT and republishes to ATAK / WinTAK / iTAK clients docker run -d --name fts -p 8087:8087 -p 8089:8089 -p 8443:8443 freetakteam/freetakserver:latest Apache 2.0; no TAK Server licensing required. UI lets you watch CoT messages flow in live as ATLAS pushes them.
ATAK-CIV Civilian ATAK build — the warfighter's actual map. Renders ATLAS-emitted tracks as CoT entities. Download APK from tak.gov/products/atak-civ → sideload to Android device or Android emulator. Configure server: <FTS-host>:8087 Free for civilian use. WebTAK alternative (browser-based) available if no Android device on hand: clone github.com/FreeTAKTeam/FreeTAKHub-WebMap.
ATLAS server (this repo)
port: 5000 (HTTP API)
Emits the CoT messages in the kill-chain bridge step of every vertical-loop trace. npm run server:dev (or docker compose up if a future compose file ships) with TAK_HOST=<fts-host> TAK_PORT=8087 in env Already running here. Set TAK_HOST to point at FTS, then run any /vertical-loop curl chain — the final dispatch step lights up ATAK-CIV in real time.

The chain (copy-paste runnable)

# 1. Start FreeTAKServer (one terminal)
docker run -d --name fts -p 8087:8087 -p 8089:8089 -p 8443:8443 freetakteam/freetakserver:latest
open http://localhost:8443  # FTS dashboard

# 2. Install the TAK client on the device:
#    Android -> Google Play -> "ATAK-CIV" (TAK Product Center, free)
#    iOS     -> Apple App Store -> "iTAK" (TAK Product Center, free)
#    Then on the device: Settings -> Network Preferences -> add server <your-host>:8087 (TCP)

# 3. Point ATLAS at FTS (in this repo's .env)
echo "TAK_HOST=localhost
TAK_PORT=8087" >> .env
npm run server:dev

# 4. Run the C-UAS vertical-loop trace; watch ATAK-CIV light up
ATLAS=http://localhost:5000
curl -X POST $ATLAS/api/sensors/fusion -d '{"sensorId":"aeris-10-001","track":{"az":127,"el":3,"r":2700,"v":42,"sig":"plfm-10.5"}}'
# ... follow the rest of the trace at /vertical-loop

What you should see

After step 4, FTS dashboard at localhost:8443 shows the inbound CoT message; ATAK-CIV on the connected device shows a hostile-air icon at bearing 127° / 2.7 km off the device's reported position. Removing the trace from ATLAS (POST a clear) removes the icon. That round-trip is the SoS proof.

Production-grade alternative — official TAK Server CIV

When to prefer this over FreeTAKServer. When demonstrating to PEO C3T, the TAK PMO, or any reviewer who deploys TAK operationally. FreeTAKServer is a community Python rewrite; TAK Server CIV is the official Java codebase the PMO ships.

Source: github.com/TAK-Product-Center/Server (Apache 2.0)

# git clone https://github.com/TAK-Product-Center/Server.git tak-server-civ
# cd tak-server-civ && ./scripts/setup-takserver-CIV.sh   # generates certs, configures Postgres
# docker compose up -d   # 5-10 min first build
# Open https://localhost:8443 (admin cert) — same UI surface as the mil build minus Federation Hub gov modules

ATLAS integration: Set TAK_HOST and TAK_PORT (default 8087 for unencrypted CoT, 8089 for TLS) in .env exactly as with FTS. ATLAS kill-chain bridge agent code is unchanged.

What is NOT on the public GitHub. Federation Hub gov-only features, certain classified plugins, and TAK Tracker (mil-only Android variant) are not on GitHub. None are required for the ATLAS demo.

ATAK plugin path (decision memo)

A separate question is whether ATLAS should also ship as an ATAK plugin — UI inside ATAK rather than just CoT into ATAK. The hybrid recommendation (narrow three-button plugin alongside the existing CoT producer) is documented at /atak-plugin. No code work has been done yet; trigger is the first warm PMO conversation.

Don't want to install anything?

Hosted TAK demo surface. A faithful TAK Server CIV dashboard equivalent — connected ATAK / iTAK / WinTAK clients, rolling CoT XML stream, live SVG map with ATLAS-emitted blue-force tracks — is rendered at /tak-demo. Same wire protocol shown above; zero infrastructure. Use it for sales calls and transition reviews where you need to show "what the other end of the CoT bus looks like" without screen-sharing a Linux box.
PRESENCE
⚠ SANDBOX / TRAINING MODE — Live read-only data. Write commands are inhibited (train as you fight, missile button safed).