0.5.0-dev • Published 3 years ago

node-personal-data-filter v0.5.0-dev

Weekly downloads
3
License
Apache-2.0
Repository
github
Last release
3 years ago

node-personal-data-filter

What will be filtered:

  • JS objects - recursive - properties with special names like password, email etc. will be filtered even if they don't contain personal data (list of personal data properties)
  • Arrays - each item will be checked
  • Strings - Emails - GUIDs - IP v4 - IP v6

Usage:

const pdf = require("node-personal-data-filter");
const f = pdf.newFilter({personalDataMask: "*****"});

const data = {
	filterMe: "some@mail.com", // will be filtered
	dontFilterMe: "some-data",
	nextLevel: {
		filterMe: "1fec999a-7e81-4bce-8b32-1b6ddd144f1b", // will be filtered
		dontFilterMe: "some-data",
		email: "not-personal" // will be filtered
	},
	email: "some@mail.bg" // will be filtered
};

const filtered = f.filter(data);
console.log(filtered);

Configuration:

  • Mask:
const pdf = require("node-personal-data-filter");

const cfg = {
	personalDataMask: "*****" // The string which will be used to replace the personal data.
};

const f = pdf.newFilter(cfg);
  • Personal data properties:
const pdf = require("node-personal-data-filter");

const cfg = {
	personalDataProperties: ["pd1", "pd2"] // The personal data properties which will be filtered in JS object.
};

const f = pdf.newFilter(cfg);
const pdf = require("node-personal-data-filter");

const cfg = {
	additionalPersonalDataProperties: ["pd1", "pd2"] // The personal data properties which will be added to the default ones for filtering JS object.
};

const f = pdf.newFilter(cfg);
  • Regular expressions:
const pdf = require("node-personal-data-filter");

const cfg = {
	regularExpression: "[a-z]" // The regular expression which will be used for filtering strings.
};

const f = pdf.newFilter(cfg);
const pdf = require("node-personal-data-filter");

const cfg = {
	additionalRegularExpressions: ["[a-b]", "[c-d]"] // The regular expressions which will added to the default ones for filtering strings.
};

const f = pdf.newFilter(cfg);
  • Match replacers:
const pdf = require("node-personal-data-filter");

const cfg = {
	useDefaultMatchReplacer: true // Use the default match replacer - sha256 sum.
};

const f = pdf.newFilter(cfg);
const pdf = require("node-personal-data-filter");

const cfg = {
	matchReplacer: match => `not a secret - ${match}` // Set custom match replacer.
};

const f = pdf.newFilter(cfg);
0.5.0-dev

3 years ago

0.4.0

4 years ago

0.4.0-dev1

4 years ago

0.3.1

4 years ago

0.3.0

4 years ago

0.2.4

4 years ago

0.2.3

4 years ago

0.2.2

4 years ago

0.2.1

4 years ago

0.2.1-dev

4 years ago

0.2.0

6 years ago

0.1.0

6 years ago