
Product
Rust Support Now in Beta
Socket's Rust support is moving to Beta: all users can scan Cargo projects and generate SBOMs, including Cargo.toml-only crates, with Rust-aware supply chain checks.
tyranid-sanitize
Advanced tools
`tyranid-sanitize` is a tool for obfuscating text fields on documents in your tyranid collections using simple schema annotations.
tyranid-sanitize
is a tool for obfuscating text fields on documents in your tyranid collections using simple schema annotations.
In order to mark fields to be sanitized, add the sanitize
property to a field definition.
import { Tyr } from 'tyranid';
export const Blog = new Tyr.Collection({
id: 'b00',
name: 'blog',
dbName: 'blogs',
fields: {
_id: { is: 'mongoid' },
/**
* we want to obfuscate the name when the database
* is passed to `tyranid-sanitize`, so we mark the field
* with `sanitize: 'name'` to generate a random name string
* using faker.js.
*/
name: { is: 'string', sanitize: 'name' },
organizationId: { link: 'organization' }
}
});
The sanitize
(see the type definition here: ./src/sanitize.ts) property can be one of the following:
true
: this will use the default sanitization (a random string of lorem ipsum)lorem
: a random sentence of lorem ipsumname
: a random nameemail
: a random emailAfter marking properties for sanitization, use the sanitize
function to create
a cloned, sanitized version of the database.
import { Tyr } from 'tyranid';
import { sanitize } from 'tyranid-sanitize';
// ... after booting tyranid
await sanitize(Tyr);
The sanitize(tyr: Tyr, opts?: SanitizeOptions)
function takes an optional options argument:
interface SanitizeOptions {
/**
* desired name of the output database
*/
outDbName?: string;
/**
* number of documents to batch insert at a time
*/
batchSize?: number;
/**
* verbose progress logging
*/
verbose?: boolean;
/**
* sanitize each collection serially (defaults to concurrently)
*/
serial?: boolean;
/**
* faker.js seed
*/
seed?: number;
/**
* sanitize every string field automatically
*/
autoSanitize?: boolean;
}
FAQs
`tyranid-sanitize` is a tool for obfuscating text fields on documents in your tyranid collections using simple schema annotations.
We found that tyranid-sanitize demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket's Rust support is moving to Beta: all users can scan Cargo projects and generate SBOMs, including Cargo.toml-only crates, with Rust-aware supply chain checks.
Product
Socket Fix 2.0 brings targeted CVE remediation, smarter upgrade planning, and broader ecosystem support to help developers get to zero alerts.
Security News
Socket CEO Feross Aboukhadijeh joins Risky Business Weekly to unpack recent npm phishing attacks, their limited impact, and the risks if attackers get smarter.