Skip to content

A privacy-preserving system for storing and matching de-identified Personal Identifiable Information (PII) records.

License

Notifications You must be signed in to change notification settings

ProminentEdge/piipan

 
 

Repository files navigation

Build Status Maintainability Test Coverage

🥧 piipan

A privacy-preserving system for storing and matching de-identified Personal Identifiable Information (PII) records.

Quick links

Overview

Piipan is a reference model for program integrity initiatives that aim to prevent multiple enrollment in federally-funded, but state-managed benefit programs. It is the open-source foundation for the USDA Food and Nutrition Service National Accuracy Clearinghouse (NAC), a congressionally mandated matching system for the Supplemental Nutrition Assistance Program (SNAP).

Under this model:

  1. State eligibility systems share de-identified participant data to Piipan daily

De-identified participant data

  1. Duplicate participation is prevented by using Piipan to search for matches during eligibility (re)certification

De-identified participant data

Paramount quality attributes of this system include:

  • Preserving the privacy of program participants
  • Accuracy of matches
  • Adaptability to multiple benefit programs

Sec. 4011 of the 2018 Farm Bill, Interstate data matching to prevent multiple issuances, further guides our work, mandating that the information made available by state agencies:

  • Shall be used only for the purpose of preventing multiple enrollment
  • Shall not be retained for longer than is necessary

To achieve this product vision, Piipan incorporates a Privacy-Preserving Record Linkage (PPRL) technique to de-identify the PII of program participants at the state-level. Please see our high-level treatment and our technical specification for more details.

Note: Our documentation will sometimes use the terms Piipan and NAC interchangeably. However, more precisely, Piipan is our open-source product available on GitHub, while the NAC is a deployment of that product, configured specifically for the Food and Nutrition Service, and operated under their policies and regulations.

Documentation

High-level architecture, process, and (sub)system documentation, as well as Architectural Decision Records (ADRs), are organized in this index.

Development

Piipan is implemented with .NET and Microsoft Azure, using a Platform as a Service (PaaS) and Function as a Service (FaaS) approach. Once Piipan's prerequisites are installed in a development environment, its subsystems can be built and tested by navigating to the top of its project tree and running:

./build.bash test

For more details, see Piipan's architecture and implementation notes, our team practices, and our other technical documentation.

Public domain

This project is in the worldwide public domain. As stated in CONTRIBUTING:

This project is in the public domain within the United States, and copyright and related rights in the work worldwide are waived through the CC0 1.0 Universal public domain dedication.

All contributions to this project will be released under the CC0 dedication. By submitting a pull request, you are agreeing to comply with this waiver of copyright interest.

About

A privacy-preserving system for storing and matching de-identified Personal Identifiable Information (PII) records.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 66.4%
  • Shell 16.5%
  • SCSS 12.5%
  • HTML 2.7%
  • JavaScript 1.3%
  • PLpgSQL 0.6%