Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/paulhendricks/detector

Detect data containing Personally Identifiable Information (PII) in R
https://github.com/paulhendricks/detector

Last synced: 6 days ago
JSON representation

Detect data containing Personally Identifiable Information (PII) in R

Awesome Lists containing this project

README

        

---
output:
github_document
---

```{r, echo = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "README-"
)
```

# detector

[![CRAN_Status_Badge](http://www.r-pkg.org/badges/version/detector)](http://cran.r-project.org/package=detector)
[![Downloads from the RStudio CRAN mirror](http://cranlogs.r-pkg.org/badges/detector)](http://cran.rstudio.com/package=detector)
[![Build Status](https://travis-ci.org/paulhendricks/detector.png?branch=master)](https://travis-ci.org/paulhendricks/detector)
[![Build status](https://ci.appveyor.com/api/projects/status/gu5ggnr1i2muw5r3/branch/master?svg=true)](https://ci.appveyor.com/project/paulhendricks/detector/branch/master)
[![codecov.io](http://codecov.io/github/paulhendricks/detector/coverage.svg?branch=master)](http://codecov.io/github/paulhendricks/detector?branch=master)
[![Project Status: Active - The project has reached a stable, usable state and is being actively developed.](http://www.repostatus.org/badges/0.1.0/active.svg)](http://www.repostatus.org/#active)

`detector` makes detecting data containing [Personally Identifiable Information](https://en.wikipedia.org/wiki/Personally_identifiable_information) (PII) quick, easy, and scalable. It provides high-level functions that can take vectors and data.frames and return important summary statistics in a convenient data.frame. Once complete, `detector` will be able to detect the following types of PII:

* Full name
* Home address
* E-mail address
* National identification number
* Passport number
* Social Security number
* IP address
* Vehicle registration plate number
* Driver's license number
* Credit card number
* Date of birth
* Birthplace
* Telephone number
* Latitude and longtiude

## State of the Union

### Complete!

* E-mail address
* Telephone number
* National identification number

### Needs more work...

* Credit card number

### Haven't even started :(

* Full name
* Date of birth
* Home address
* IP address
* Vehicle registration plate number
* Driver's license number
* Birthplace
* Latitude and longtiude

## Installation

You can install the latest development version from CRAN:

```R
install.packages("detector")
````

Or from GitHub with:

```R
if (packageVersion("devtools") < 1.6) {
install.packages("devtools")
}
devtools::install_github("paulhendricks/detector")
```

If you encounter a clear bug, please file a [minimal reproducible example](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) on [GitHub](https://github.com/paulhendricks/detector/issues).

## API

### Generate data containing fake PII

```{r}
library(dplyr, warn.conflicts = FALSE)
library(generator)
n <- 6
set.seed(1)
ashley_madison <-
data.frame(name = r_full_names(n),
snn = r_national_identification_numbers(n),
dob = r_date_of_births(n),
email = r_email_addresses(n),
ip = r_ipv4_addresses(n),
phone = r_phone_numbers(n),
credit_card = r_credit_card_numbers(n),
lat = r_latitudes(n),
lon = r_longitudes(n),
stringsAsFactors = FALSE)
knitr::kable(ashley_madison, format = "markdown")
```

### Detect data containing PII

```{r}
library(detector)
ashley_madison %>%
detect %>%
knitr::kable(format = "markdown")
```

## Citation

To cite package ‘detector’ in publications use:

```
Paul Hendricks (2015). detector: Detect Data Containing Personally Identifiable Information. R package version 0.1.0. https://CRAN.R-project.org/package=detector
```

A BibTeX entry for LaTeX users is

```
@Manual{,
title = {detector: Detect Data Containing Personally Identifiable Information},
author = {Paul Hendricks},
year = {2015},
note = {R package version 0.1.0},
url = {https://CRAN.R-project.org/package=detector},
}
```