FIDA buy and burns are decentralized and permissionless. All fees are collected by a pool that can only do two things: buy FIDA and burn FIDA. The balances of this pool are displayed on https://burn.bonfida.org and anyone can make the pool buy or burn FIDA. All the trades happen on FIDA/USDC Serum market.
When you arrive on the website you will see the total amount of FIDA ever burned, the current amount of USDC available in the pool to buy FIDA as well as the current amount of FIDA available to burn.
When you click BUY, the pool sends a market buy order on FIDA/USDC. The USDC used to execute this trade comes from the USDC balances of the pool. After clicking this button, you will have to approve the transactions in the wallet pop-up.
When you click BURN, the pool burns a fraction of the FIDA it contains. 10% of the FIDA burned is sent to on-chain FIDA stakers. After clicking this button, you will have to approve the transactions in the wallet pop-up.