Skip to main content
Home

Built and signed on GitHub Actions

Generate secrets using a cryptographic random and mask secrets.

This package works with Cloudflare Workers, Node.js, Deno, Bun, Browsers
This package works with Cloudflare Workers
This package works with Node.js
This package works with Deno
This package works with Bun
This package works with Browsers
JSR Score
100%
Published
9 months ago (0.1.0)

Overview

The secrets module provides a secret generator and a secret masker.

The secret generator uses a cryptographic random number generator (csrng) defaults to NIST requirements e.g length > 8, 1 upper, 1 lower, 1 digit, and 1 special character.

The secret masker works by adding secrets and variants to the masker and then it will replace the secret with '*********' which is useful to protect secrets from logs or CI/CD standard output.

logo

JSR npm version GitHub version

Documentation

Documentation is available on jsr.io

A list of other modules can be found at github.com/bearz-io/js

Usage

import { DefaultSecretGenerator, secretMasker } from "@bearz/secrets";
import { equal } from "@bearz/assert"

// secret generator / password generator
const generator = new DefaultSecretGenerator();
generator.addDefaults();

console.log(generator.generate()); // csrng generated secret 16 chars
console.log(generator.generate(30)); // csrng generated secret 30 chars

// secret masker
const masker = secretMasker;
masker.addGenerator((secret: string) => {
    return secret.toUpperCase();
});

masker.add("super secret");
masker.add("another secret");
equal(masker.mask("super secret"), "*******");
equal(masker.mask("SUPER SECRET"), "*******");
equal(masker.mask("another secret"), "*******");
equal(masker.mask("ANOTHER SECRET"), "*******");

License

MIT License

Built and signed on
GitHub Actions

New Ticket: Report package

Please provide a reason for reporting this package. We will review your report and take appropriate action.

Please review the JSR usage policy before submitting a report.

Add Package

deno add jsr:@bearz/secrets

Import symbol

import * as secrets from "@bearz/secrets";
or

Import directly with a jsr specifier

import * as secrets from "jsr:@bearz/secrets";

Add Package

pnpm i jsr:@bearz/secrets
or (using pnpm 10.8 or older)
pnpm dlx jsr add @bearz/secrets

Import symbol

import * as secrets from "@bearz/secrets";

Add Package

yarn add jsr:@bearz/secrets
or (using Yarn 4.8 or older)
yarn dlx jsr add @bearz/secrets

Import symbol

import * as secrets from "@bearz/secrets";

Add Package

vlt install jsr:@bearz/secrets

Import symbol

import * as secrets from "@bearz/secrets";

Add Package

npx jsr add @bearz/secrets

Import symbol

import * as secrets from "@bearz/secrets";

Add Package

bunx jsr add @bearz/secrets

Import symbol

import * as secrets from "@bearz/secrets";