The Sync Server has a plugin mechanism for post-commit events. The full public specification and developer guide are still being prepared. This page describes the behavior available today.
Current behavior
Trusted PHP code in plugins/<id>/plugin.php can receive pack.stored, operations.stored, and device.revoked events. operations.stored contains plaintext operations. Events are delivered by the admin maintenance action or php bin/maintenance.php.
Delivery is at least once: the same eventId may appear more than once. Make handlers idempotent and avoid concurrent maintenance runs. A plugin exception does not undo a committed SyncPack.
Security and future documentation
Plugins run inside the server’s PHP process, not in a sandbox. They can read synced content. Install only code you trust, and keep deployment-specific plugins and secrets out of public repositories.
A formal guide covering event parameters and compatibility will be published later. For the current implementation, see plugins/example/ in the Sync Server repository.