Blind Match

Blind Match is TripleBlind’s implementation of a well-known secure multiparty computation known as a 🔗Private Set Intersection. Blind Match allows data from multiple sources to be privately joined based on a common identifier, returning only the values of the identifier that are found across all datasets. This allows a data provider to find the records in common with other data providers, without revealing any information apart from membership of the record to those sets. It is possible to create a common set of records (with features from multiple data providers), and use this intersection to train a model with Blind Learning.


  • Use the intersect() method to match your dataset against one or more dataset assets.
  • When using add_agreement() to allow a counterparty to use your dataset for a Blind Match, use Operation.PRIVATE_SET_INTERSECTION for the operation parameter.


intersect_with: Union[Asset, List[Asset]]

  • Other table(s) to intersect against. Can be Assets or paths to local files.

match_column: Union[str, List[str]] = ["id0", "id1"]

  • Name of the column to match. If not the same in all datasets, a list of the matching column names, starting with the initiator asset and then listing a name in each intersect_with dataset.
  • If a single fieldname is provided, each dataset must have the same name for that match_column, eg. “ID”.

job_name: Optional[str]

  • Reference name for this process. This name will appear in the Access Request, Process History, and Audit Reports.

silent: Optional[bool]

  • Suppress status messages during execution? Default is to show messages.


  • Blind Match is a powerful operation and can only be used when the initiator owns at least one of the datasets in the computation. This restriction makes the private set intersection completely privacy-preserving, as data is not moved between parties. Only membership information of the identifiers is revealed.