- PatternDef.validate + Luhn-gated credit-card detection; de-overlap the generic phone/date/IP patterns; presets.swiss unchanged (production behavior) - strip g/y flags from nameHint so .test() is stateless (latent footgun) - openAICompatibleProvider: bounded retry on transient failures (network / timeout / 429 / 5xx), configurable via retries + retryDelayMs - eslint + prettier + vitest coverage (97%); CI runs lint/format/coverage - docs: README badges + new-option docs, SECURITY.md, issue/PR templates 26 tests passing; build emits ESM+CJS+types. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
746 B
746 B
name, about, title, labels, assignees
| name | about | title | labels | assignees |
|---|---|---|---|---|
| Bug report | Report incorrect behavior (false positive/negative, crash, leak) | bug |
⚠️ Security/PII-leak issues: please do NOT file them here — email security@mobiletic.com (see SECURITY.md).
Describe the bug
A clear description of what's wrong.
To reproduce
A minimal code sample or failing test:
// import { Anonymizer, presets } from '@mobiletic/anonymizer';
Expected behavior
What you expected to happen.
Environment
@mobiletic/anonymizerversion:- Node.js version:
- Using an LLM provider? (which endpoint/model, or regex-only):
Additional context
Anything else (input text shape, custom patterns, …). Redact any real PII before posting.