FilterSense

A lightweight, zero-dependency text safety filter for Node.js and the browser.

What it does

FilterSense helps you detect and handle potentially sensitive or unsafe patterns in text (emails, phone numbers, credit card-like sequences, profanity, and long numeric identifiers).

It is intentionally rule-based (regex-driven), so it is predictable, fast, and easy to extend.

Install

npm install filtersense

Quick usage (ESM)

import { filter } from 'filtersense';

const result = filter.check('Hello test@example.com');

console.log(result.safe);
console.log(result.matched.map(r => r.name));

Quick usage (CommonJS)

const { filter } = require('filtersense');

const result = filter.check('Call me at 123-456-7890');
console.log(result.safe);

Make it strict

import { filter } from 'filtersense';

filter.ensureSafe('This contains sensitive info 1234-5678-9012-3456');

Extend with your own rules

import { FilterSense } from 'filtersense';

const myFilter = new FilterSense();
myFilter.addRule('no_groot', /\bgroot\b/i, 'low');

console.log(myFilter.check('I am Groot').safe);