Encrypted before storage
API credentials are encrypted with AES-256-GCM before they reach the database. The encryption is authenticated, so tampered data fails loudly rather than decrypting into something that could be sent to an exchange.
Auto-Trade works through API keys you create on your own exchange. That arrangement is only as good as what those keys are allowed to do. So Triggon takes that decision out of your hands.
enc:v1:9f3a7c…d41e · authenticatedserver environment only · not in the databaseone module, one exchange call, never loggedPlace, modify and close orders on the exchange account you connect, for the Strategies you have chosen, inside the limits you have set.
Read your balance and open positions, in order to size those orders correctly.
Read market data from the exchange to check a price is fresh before acting on it.
Withdraw or transfer your funds. An API key with withdrawal or transfer permission is refused at connection. It is a hard validation failure, not a warning you can click past. The key is not stored and the connection is not made.
Take custody of your assets. Your funds never leave your exchange account, and there is no arrangement under which they could pass through Triggon.
Trade an account you have not connected, or run a Strategy you have not enabled.
API credentials are encrypted with AES-256-GCM before they reach the database. The encryption is authenticated, so tampered data fails loudly rather than decrypting into something that could be sent to an exchange.
The master encryption keys exist only in the server's environment, never in the database, never in the codebase, never in a settings table. Someone holding a copy of the database holds nothing usable.
Exactly one module ever sees a credential in plaintext, and only for the duration of a single exchange call. No API response, log line or audit record is permitted to carry a decrypted value.
If the encryption key is missing from the environment, Triggon refuses to store a credential at all. There is deliberately no fallback that would let a misconfigured deployment quietly save one unprotected.
You sign in with your Telegram account. Telegram signs each request cryptographically and the server verifies that signature on every call. There is no Triggon password to be guessed, reused or leaked in someone else's breach.
Opened from a plain browser there is no signature to verify, so there is nothing to show. That is the same property that removes the password, seen from the other side.
Files submitted with a Provider application are served only to reviewers, by identifier, as attachments. They are not addressable by name and are not public.
A Signal with a stop on the wrong side of the price is rejected at ingest, before it can reach any account. A repeated Signal is recognised and never applied twice.
A Provider's Strategy has its own private connection and its own secret, rotatable at any time. One Strategy's credentials give no access to another's.
Order size ceilings, slippage limits and freshness checks apply above every user and Provider setting, as a backstop that individual configuration cannot widen.