Honest client update
Malicious client update
Global model
True optimum
⚠ Couldn't load the 3D engineThree.js failed to load from the CDN. Check your connection and reload.
Federated learning trains one shared model from many clients' local updates without ever collecting raw data — but that also means the server must trust update vectors it cannot inspect. This simulator shows what happens when some clients are malicious: it renders every client's update as an arrow in a 3D parameter space, lets you dial in how many clients are compromised and how aggressively they attack, and compares four real aggregation rules — plain FedAvg, coordinate-wise median, trimmed mean and Krum — to see which ones keep the global model converging toward the true optimum and which get dragged off course by a handful of poisoned updates.