VerneMQ est un courtier de messages MQTT distribué et open source, destiné aux plateformes IoT et aux produits intelligents, et développé en Erlang. Il évolue horizontalement sur un cluster de serveurs standard. Des modules intégrés assurent l'authentification et l'autorisation à partir de fichiers, un moteur de scripts Lua se connecte à des bases comme PostgreSQL, MySQL, MongoDB et Redis, et des webhooks permettent des extensions dans tout langage. Il s'agit d'un logiciel auto-hébergé, installé par l'exploitant sur ses propres serveurs ou comptes cloud, sous licence Apache 2.0.
Le projet est développé ouvertement sur GitHub. Le support commercial, l'évaluation et les adaptations sont assurés par Octavo Labs AG, à Brugg, en Suisse. La Suisse est un pays européen hors UE. Comme le courtier est hébergé par l'organisation elle-même, les données restent sur une infrastructure qu'elle maîtrise et ne dépendent pas d'un cloud du fournisseur. Pour une organisation européenne, le risque lié au fournisseur reste limité, mais le choix du lieu d'exploitation et les clauses contractuelles avec le partenaire de support restent importants.