Getting to know the product

This article explains the background knowledge on Roseman Labs software, including information on the product components and how they interact. Directions are given on how to use each of them.

Roseman Labs software components

Roseman Labs consists of three different components:

 

  • The engine (made up of three nodes), which is responsible for the encryption and processing of data
  • Two client modules interacting with the engine, which are the platform and the crandas python package

Below, all components are explained in detail.

2024 Roseman Labs software overview-1
Figure 1: Roseman Labs software overview

 

Multi-Party Computation nodes

A computation under Multi-Party Computation (MPC) relies on a set of MPC nodes. To be able to perform an analysis on combined data, you first need to encrypt/secret-share each dataset and distribute them over these different nodes. The nodes also verify the approvals for scripts that are requested, and execute the scripts on the data they hold. You can find an detailed explanation on the theory behind MPC and secret sharing here.

The MPC nodes are hosted by Roseman Labs. If you have strict requirements for hosting on premise, please contact us. When hosting, Roseman Labs adheres to a strict segregation of duties and each server is hosted at a different cloud provider to ensure the security of the encrypted data.

 

 

Platform

The platform is an online interface that runs in the browser. It can be used to assign roles and associated rights to individuals involved in the execution of an analysis. It also allows you to upload and delete data sources, request approvals for analysis scripts and reject/approve those scripts.

You can find an explanation of all the roles that exist in the platform here. For more information about the platform and how to use it, please check the platform documentation in the knowledge base.

 

 

Crandas

To write an analysis script and interact with the MPC nodes, Roseman Labs has developed a python package called crandas. Crandas is a python package that uses roughly the same syntax as the popular python package pandas, but it delegates the computations to the MPC nodes so that those computations are performed in the blind. More information about the similarities and differences between crandas and pandas can be found here.

Before you run an analysis on your data, you will first need to design it. To do this, Roseman Labs provides two types of environments: one for the design and one for the actual execution of an analysis. For more information, please check this page in the knowledge base.

For information about crandas, as well as how to install and use it, please inspect the crandas documentation portal.

2024 Roseman Labs data flow
Figure 2: Data flow

 

Generate new insights on sensitive data with Roseman Labs’ secure Multi-Party Computation technology. Want to find out how your organization can do that? Contact us using the form below.

Book a demo

Enter your details and we'll be in touch to book a free, no-obligation demo with you.

  • Analyze vast amounts of data in the blink of an eye
  • Safely use sensitive data with state-of-the-art encryption
  • Gain new insights to make well informed decisions