Using LLMs to Generate SecureTrack Client Code

Large Language Models (LLMs) such as ChatGPT, Claude, or Gemini can generate useful SecureTrack client code when they receive the API contract, setup steps, and domain-specific constraints in one place.

LLM Bundle

We provide a self-contained bundle with the public files an LLM needs to generate SecureTrack client code:

Download securetrack_api_llm_bundle.zip

The bundle includes:

  • README.md with API usage notes and LLM prompt templates

  • SeRoAPI.proto with the public gRPC API contract

  • ca.crt for TLS server verification

The bundle does not contain generated bindings, source examples, or pre-compiled artifacts. Ask the LLM to generate code and bindings from SeRoAPI.proto in your project environment.

How to Use It

  1. Download and extract the bundle.

  2. Open your preferred LLM.

  3. Attach the extracted files, or attach the whole zip file if your LLM tool supports archive uploads.

  4. State which programming language you want to use.

  5. Describe the task and ask for exact setup, binding generation, and run commands.

Do not paste production tokens into LLM conversations unless your company’s security policy explicitly allows it. Prefer environment variables or local configuration files that are not committed to source control.

Example Prompts

Sensor overview:

Write a client in <LANGUAGE> that connects to SecureTrack, reads the token
from SECURETRACK_TOKEN, calls GetSensorInfo, and prints serial number, type,
alias, last seen timestamp, and GNSS position if available. Include setup
commands and binding generation.

Virtual radar feed:

Write a client in <LANGUAGE> that connects to SecureTrack over TLS, reads
the token from SECURETRACK_TOKEN, subscribes to GetTargetReports for 30
seconds, and prints target address, ADS-B position if present, MLAT position
if present, and dropped_reports changes. Include project setup and run
commands.

Raw ADS-B collection:

Write a client in <LANGUAGE> that subscribes to GetModeSDownlinkFrames with
df_filter 17, prints the raw frame as hex plus reception metadata, and
reports increases in dropped_frames. Include clean stream cancellation.

Filtered target monitoring:

Write a client in <LANGUAGE> that subscribes to target reports for a list
of ICAO addresses. Use aircraft_filter, cancel the stream after 60 seconds,
and avoid logging the token.

Tips for Better Results

  • Ask the LLM to read the token from an environment variable.

  • Ask it to include the working directory for each command.

  • Ask it to generate bindings from SeRoAPI.proto instead of assuming a package is already installed.

  • Ask for explicit TLS handling with ca.crt.

  • Ask for stream cancellation and dropped-counter monitoring.

  • If generated code fails, paste the exact error message back into the LLM and ask for a corrected version.