Edge Rewrite
// request.cf · coarse context

A page that knows where it met you.

Only coarse request metadata is shown. This demo does not display or persist visitor IP addresses.

Country
US
Cloudflare location
CMH
Connection
HTTP/2
Language
Not provided

Ray ID: a26a18331b86b40c

Jump to content

Draft:Mbase

From Wikipedia, the free encyclopedia
DeveloperHMTC (Cotonou, Benin)
On-premise African-language amount composition and payment middleware
Initial release24 July 2026; as v0.1.0-1
Stable release0.1.0-9 (29 July 2026)
Written inJavaScript (Node.js, Fastify); Python (companion console application)
Operating systemLinux (Ubuntu Server 26.04 LTS), distributed as a Debian (.deb) package
Platformx86-64 (amd64)
TypeOn-premise multilingual amount-composition engine; payment-domain middleware
LicenseProprietary; time-limited, machine-bound activation licenses
Parent projectMaïka (https://maika.hmtc.bj)
Related projectsTassie (payment terminal)
Developer websitehmtc.bj
Mbase software solution logo

Mbase is an on-premise software edition of Maïka, a multilingual numeration engine developed by HMTC, a company based in Cotonou, Benin. Rather than being accessed as a hosted web service, Mbase is packaged as a native Debian software package and deployed inside a client organization's own local area network (LAN). Its core function is to convert a numeric monetary amount into its spoken and written equivalent in a defined set of African and international languages, for use in point-of-sale and payment applications. The first released application domain, named finance, covers nineteen languages spoken across West Africa, East Africa, North Africa, Ethiopia, and two international languages (English and French). Access to Mbase is controlled through a time-limited, machine-bound license activated against a private license server operated by HMTC, combined with a locally administered role-based permission system.

History

[edit]

Mbase originates from Maïka, a public web application first published in June 2026 and made available at maika.hmtc.bj, a domain operated by HMTC. Maïka exposed an open, unauthenticated compose API covering nineteen languages, with the stated purpose of “giving a voice” to the Tassie payment terminal: when a transaction completed on a Tassie terminal, the amount would be read aloud to the customer in their own language. Development of Mbase as a separate, on-premise edition of this engine began in late July 2026. Where Maïka operates as a centrally hosted service, Mbase was designed to run entirely inside a client's own infrastructure, addressing requirements around data sovereignty, offline operation, and per-client licensing that a shared public API could not satisfy. Development proceeded through a rapid sequence of packaged releases — from version 0.1.0-1 to 0.1.0-9 — over the course of roughly one week, progressively adding TLS encryption, an interactive command-line shell, role-based permissions, license activation, and visibility into the license activation and asset-synchronization process.[1]

Architecture and technology

[edit]

The Mbase source repository is organized into several independent parts, reflecting a deliberate separation between what is shipped to clients and what remains under HMTC's control:

  • software/ — the composition engine, HTTP API, and command-line interface. This code is compiled into the distributed .deb package.
  • license-server/ — a separate service, hosted exclusively by HMTC, that issues signed license certificates at activation time. It is never shipped to client machines.
  • packaging/ — Debian packaging scripts, systemd service definitions, and installation hooks used to build the distributable package.
  • data/domains/ — per-domain manifests and protected assets (encrypted audio recordings and lexicons), kept out of version control in plain form.

The runtime service is built on Node.js 20 LTS and the Fastify web framework, and is managed on the client machine as a systemd service. Since version 0.1.0-6, the service generates a unique, self-signed TLS certificate on installation and serves its public API exclusively over HTTPS by default; a companion desktop console application (see below) verifies this certificate through fingerprint pinning on first connection, in the manner of SSH host-key verification, rather than relying on a public certificate authority.[2]

Supported languages

[edit]

As of version 0.1.0-9, the finance domain defines nineteen languages. Composition of text is available for all nineteen; spoken audio output, drawn from a corpus of pre-recorded audio segments, is available for fifteen of them. The remaining four languages (Dioula, Kriolu, Lingala, and Wolof) are defined in the engine and can produce written output, but no corresponding audio recordings exist in the source corpus as of this version.[3]

Languages and Regions
CodeLanguageRegionCurrencyAudio available
fonFongbéBeninFCFAYes
gunGoungbéBeninFCFAYes
minMinaBenin / TogoFCFAYes
adjAdjaBeninFCFAYes
denDendiBeninFCFAYes
yorYorùbáNigeria / BeninFCFAYes
amhAmharicEthiopiaBirrYes
oroAfaan OromoEthiopiaBirrYes
araArabicNorth AfricaYes
engEnglishInternationalUSDYes
freFrenchInternationalYes
hauHausaWest AfricaFCFAYes
swaKiswahiliEast AfricaKESYes
bamBamanankanMaliFCFAYes
fulFulfuldeSahelFCFAYes
dioDioulaMali / Côte d'IvoireFCFANo
kriKrioluCabo VerdeCVENo
linLingalaDR Congo / CongoFCFANo
wolWolofSenegalFCFANo

Licensing and activation model

[edit]

Mbase is distributed under a commercial licensing model administered entirely by HMTC. Licenses are managed through a command-line tool used exclusively over a direct connection to the license server — no license-management functionality is exposed over a public network endpoint. Each license specifies one or more covered application domains (for example, finance) and a validity period; there is no finer-grained licensing at the level of individual languages within a domain. At activation, a client machine submits its license key together with a hardware-derived fingerprint, and receives in return a certificate cryptographically signed by HMTC's private key, together with a per-installation asset-decryption secret. Subsequent verification of this certificate — checking its signature, its binding to the local machine, and its expiration date — is performed entirely offline, without any ongoing network contact with HMTC's servers. A revoked license blocks future activations and asset downloads, but does not remotely disable an already-activated installation before its certificate expires. Activation also triggers a one-time download of the encrypted audio assets covering the licensed domain. As of version 0.1.0-9, this synchronization step reports its progress live, language by language, rather than completing silently: each covered language is downloaded individually and its transfer progress displayed, while languages without an available audio corpus are explicitly reported as skipped.[4]

Security model

[edit]

Independent of the license's domain-level scope, Mbase implements a locally administered, role-based permission system. An administrator can create named roles and grant them specific actions — such as producing text output or producing signed audio output — scoped to a particular domain and, optionally, a particular language. Signed audio responses are served through short-lived, cryptographically signed URLs rather than direct file access.[5]

Companion applications

[edit]

Mbase Console

[edit]

Mbase Console is a desktop application, built with Python and the Qt-based PySide6 toolkit, used by HMTC operators and partner technicians to administer deployed Mbase instances. It provides interfaces for registering and connecting to client machines, creating and auditing roles and access grants, issuing diagnostic composition requests (including decoding and playing back the resulting audio), and monitoring the resource usage and logs of a running installation over an authenticated SSH connection. Internal design documentation for the console describes an intentionally warm, non-clinical visual identity — built around an amber-and-cream color palette shared with HMTC's broader brand — reflecting the project's framing of African-language voice output as a matter of cultural dignity rather than a purely technical feature.

[edit]

Maïka

[edit]

Maïka is the underlying multilingual composition engine from which Mbase is derived, and continues to operate independently as a hosted, public-facing web application and API at maika.hmtc.bj. Project planning documentation describes Maïka's longer-term positioning as general-purpose language infrastructure for African languages, developed and trained one application domain at a time — beginning with finance, with healthcare described as a planned future domain — rather than as a product limited to financial use.[6]

Tassie

[edit]

Tassie is a payment terminal and WhatsApp-based conversational bot, combining NFC-based transaction initiation with spoken transaction confirmation in a customer's own language. Tassie relies on the Maïka/Mbase composition engine to generate this spoken output. Its first supported languages, per initial project scope, are Fongbé, Mina, Dendi, and Adja, all spoken in Benin.[7]

Institutional context

[edit]

According to internal project planning documentation, HMTC submitted applications covering both the Maïka and Tassie projects to the LINGUA Africa programme[8] [9] ahead of a stated 15 June 2026 deadline. The same documentation describes outreach to Benin's Presidency and its Ministry in charge of Digital Transition regarding potential institutional support for the two projects, including a meeting proposed for late July 2026 in Cotonou. These initiatives are described in HMTC's internal records; no independent, publicly published confirmation of their outcome is cited here.[10]