Your funds are stored on a smart contract. In Ethereum a smart contract has it’s own address. Before trading, you will deposit ETH or tokens to the smart contract address using the website interface (DO NOT SEND FUNDS DIRECTLY TO THE CONTRACT ADDRESS!).
Once the funds are on the contract, only you can order the contract to trade your balance or withdraw the funds. The contract requires a signature from your wallet in order to perform any operation with your funds. The signature proves you own the wallet that owns the funds on the contract. Keeping your funds on the contract is as safe as keeping the funds in your private wallet.