Security posture

Security choices that fit a desktop product with an edge backend.

The goal is not to pretend the site is finished. The goal is to make the default path sensible now so new features land on top of clear boundaries instead of patchwork controls.

Closed signup

Accounts are created through explicit business flows instead of open registration. That reduces spam, support churn, and abuse from day one.

Magic links without enumeration

Auth responses avoid leaking account existence, which keeps the sign-in flow cleaner for users and less useful to attackers.

Short-lived edge state

Sessions and one-time tokens are kept short, explicit, and close to the request path rather than spread across a larger backend.

Signed licensing model

Offline validation is designed around signatures, not shared secrets embedded in the desktop client.

Webhook hygiene

Billing hooks are built around signature verification and idempotent writes so payment events can be retried safely.

Stepwise hardening path

The current baseline stays simple, but the architecture already leaves room for stronger rate limiting, richer audit trails, and more administrative controls.

For customers

Low-friction account access

Passwordless flows keep the portal easier to operate while still allowing session controls, entitlement checks, and future role-based surfaces.

For operations

A cleaner upgrade path

Because the current model is explicit, it is straightforward to add stronger controls later without undoing public signup flows, password resets, or oversized backend state.

Get started

One lifetime license. Bring your own AI key.

Buy ChartGPT once. Connect your OpenAI, Anthropic, Google, or OpenRouter API key. Send NinjaTrader chart context into your AI workflow.

License
One-time purchase
Usage
Bring your own API key