Closed signup
Accounts are created through explicit business flows instead of open registration. That reduces spam, support churn, and abuse from day one.
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.
Accounts are created through explicit business flows instead of open registration. That reduces spam, support churn, and abuse from day one.
Auth responses avoid leaking account existence, which keeps the sign-in flow cleaner for users and less useful to attackers.
Sessions and one-time tokens are kept short, explicit, and close to the request path rather than spread across a larger backend.
Offline validation is designed around signatures, not shared secrets embedded in the desktop client.
Billing hooks are built around signature verification and idempotent writes so payment events can be retried safely.
The current baseline stays simple, but the architecture already leaves room for stronger rate limiting, richer audit trails, and more administrative controls.
Passwordless flows keep the portal easier to operate while still allowing session controls, entitlement checks, and future role-based surfaces.
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.
Buy ChartGPT once. Connect your OpenAI, Anthropic, Google, or OpenRouter API key. Send NinjaTrader chart context into your AI workflow.