A module adds the screens, data and integrations one industry actually works with — a flight board, a berth list, a job sheet — on top of the channels, PTT and encryption every other customer gets. What a module may not do is the more important half of this page.
Each one has a page describing the operation it is for. The module is the software that would make that page true.
This is the load-bearing decision. Seven industries each inventing their own way to move data would mean seven encryption paths, and the security of the product would become the security of whichever one got the least attention.
That last constraint bites, so it is worth being concrete: an aviation module cannot have our servers correlate encrypted positions against a flight-data feed, because our servers cannot read the positions. Correlation happens on the device, or in your own console where the keys are. Some integrations are harder this way and a few are not possible at all — we would rather say which before a contract than after one.
Modules are enabled per organisation rather than compiled into everybody's app.
Honestly: by who asks, and how specifically. A module is worth building when somebody can describe the shift it has to survive — not the feature list, the shift.
Name the industry and the shift. That is enough for us to say whether a module is weeks or quarters, and whether the encryption rule above makes any part of it impossible.