Skip to main content
start

Getting Started

PrivMX Bridge

Server-side software that intermediates in the transfer of encrypted data and notifications between Endpoints and stores encrypted data for Threads, Stores, and Inboxes.

  • PrivMX Bridge is a Zero-Knowledge software - it has no possibility of reading (decrypting) data it transmits and stores.

  • The Bridge organizes the structure of the developer's applications (Solutions) by offering a universal mechanism of independent access groups called Contexts. Each Context is a set of communication tools (Threads, Stores, Inboxes created by Endpoints) together with a list of users that have rights to create and access them. Each Solution can contain any number of freely configurable Contexts.

  • User’s registration in PrivMX Bridge Contexts requires providing only user’s public key and any textual userId assigned by the application. As a result, PrivMX communication channels can be easily used in existing applications, with no necessary changes to the authorization system currently in use. To learn more about private and public keys, browse our dedicated section.

  • In short: the user's access to a Context and the tools included is granted after the Bridge (using a registered public key) successfully verifies the user's signature sent by the Endpoint (signature made on the client-side with the valid, corresponding private key).

  • Bridge offers a web API and a system of developer keys, so that Solutions and Context objects can be managed programmatically by any developer’s tools and applications.

Installation

To install Bridge on your machine you can use our CLI.

  1. Clone Bridge CLI
    git clone https://github.com/simplito/privmx-bridge-docker
  2. Run setup script
    ./setup.sh
    This will fetch the necessary Docker images, create Access Keys and your first Context. After a successful setup, CLI will display all the API keys necessary for connection.

Registering first users (optionally)

You can create first two users using provided CLI. This can come handy if you want to just test PrivMX in one of our example projects.

  1. Generate keys In your terminal, generate private-public key pair for your user. The keys must be in WIF format:

    ./genKeyPair.sh
  2. Register user

    With the keys ready, register userId - public key pair in your Context. Don't forget to replace placeholder values with the ones created earlier:

    ./cli.sh context/addUserToContext '{"contextId": "CONTEXT_ID", "userId":"USER_ID", "userPubKey":"USER_PUBLIC_KEY" }'

After Installing

After you've successfully installed a PrivMX Bridge instance, browse our SDKs and APIs to learn what you can do next:

Integrations

• Server API - Managing the base of user keys - assigning/removing them to/from Contexts.

• Server Event Channels (Coming Soon) - The ability to wait for changes in the Bridge and send notifications about them. The Developer's server could for example react to a new message or file. The server can only access metadata (UUID, User IDs assigned by the Developer), so the information about who, when and where sent or modified data.

• Server Data Management (Coming Soon) - Data management based on metadata. The server can list and delete data collected in the Bridge.