Approver

The Approver is the Secubit module that provides the approval mechanism for all wallet actions. It is implemented as a lightweight JavaScript component that can run directly in a user’s browser or in other environments such as automated trading systems.

flowchart LR
    C["Customer </br> System"]

    subgraph U["User Machine"]
    direction TB
        B("browser")
        JS("secubit.js")  
        SE("🔑 secure element")
    end
    
    C --- B

At its core, the Approver interacts with the device’s Secure Element through PassKey, ensuring that approvals are tied to strong, biometric-backed authentication. By supporting the exact message formats and canonical encodings expected by the HSM, the Approver enables direct end-to-end authentication between the user’s device and the HSM, without relying on intermediate servers.

Because of its flexible design, the Approver can be used not only for individual users but also for trading bots or other automated agents. In those cases, bots are enrolled with their own public keys and can sign requests on behalf of the user, subject to the policies enforced inside the HSM.

The Approver thus serves as the last step of user intent verification, ensuring that no request—whether initiated by a human user or an automated system—can be processed by the HSM without valid, cryptographically bound approval.