diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 816c261..c320747 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -17,7 +17,7 @@ A clear description of what's wrong. A minimal code sample or failing test: ```ts -// import { Anonymizer, presets } from '@mobiletic/anonymizer'; +// import { Anonymizer, presets } from '@mobiletic-labs/anonymizer'; ``` ## Expected behavior @@ -26,7 +26,7 @@ What you expected to happen. ## Environment -- `@mobiletic/anonymizer` version: +- `@mobiletic-labs/anonymizer` version: - Node.js version: - Using an LLM provider? (which endpoint/model, or regex-only): diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index dab3e6e..62c90b4 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,4 +1,4 @@ -# Contributing to @mobiletic/anonymizer +# Contributing to @mobiletic-labs/anonymizer Thanks for your interest in improving this project! Contributions of all kinds are welcome — bug reports, new pattern presets, additional LLM providers, docs, and tests. @@ -6,7 +6,7 @@ new pattern presets, additional LLM providers, docs, and tests. ## Getting started ```bash -git clone https://git.mobiletic.net/mobiletic/anonymizer.git +git clone https://git.mobiletic.net/mobiletic-labs/anonymizer.git cd anonymizer npm install npm test # run the test suite (vitest) diff --git a/README.md b/README.md index a41b03c..4f2efdf 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ -# @mobiletic/anonymizer +# @mobiletic-labs/anonymizer -[![CI](https://git.mobiletic.net/mobiletic/anonymizer/actions/workflows/ci.yml/badge.svg?branch=main)](https://git.mobiletic.net/mobiletic/anonymizer/actions) -[![npm version](https://img.shields.io/npm/v/@mobiletic/anonymizer.svg)](https://www.npmjs.com/package/@mobiletic/anonymizer) +[![CI](https://git.mobiletic.net/mobiletic-labs/anonymizer/actions/workflows/ci.yml/badge.svg?branch=main)](https://git.mobiletic.net/mobiletic-labs/anonymizer/actions) +[![npm version](https://img.shields.io/npm/v/@mobiletic-labs/anonymizer.svg)](https://www.npmjs.com/package/@mobiletic-labs/anonymizer) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE) Framework-agnostic **PII anonymization & pseudonymization** for TypeScript/JavaScript. @@ -27,7 +27,7 @@ values afterwards — including across **streamed** tokens. ## Install ```bash -npm install @mobiletic/anonymizer +npm install @mobiletic-labs/anonymizer ``` Requires Node ≥ 18 (uses native `fetch`). @@ -37,7 +37,7 @@ Requires Node ≥ 18 (uses native `fetch`). ### Regex-only (no LLM, fully deterministic) ```ts -import { Anonymizer, presets } from '@mobiletic/anonymizer'; +import { Anonymizer, presets } from '@mobiletic-labs/anonymizer'; const anonymizer = new Anonymizer({ patterns: presets.swiss }); @@ -52,7 +52,7 @@ anonymizer.deanonymize(anon, mapping); // -> "Écris à jean@exemple.ch" ### With an LLM (also catches names, addresses…) ```ts -import { Anonymizer, openAICompatibleProvider, presets } from '@mobiletic/anonymizer'; +import { Anonymizer, openAICompatibleProvider, presets } from '@mobiletic-labs/anonymizer'; const anonymizer = new Anonymizer({ llm: openAICompatibleProvider({ @@ -159,7 +159,7 @@ new Anonymizer({ ### Presets & custom patterns ```ts -import { presets } from '@mobiletic/anonymizer'; +import { presets } from '@mobiletic-labs/anonymizer'; presets.swiss; // AVS, IBAN CH, EMAIL, Swiss phone, DATE presets.generic; // EMAIL, IBAN, credit card, IPv4, phone, DATE @@ -187,7 +187,7 @@ so arbitrary long digit runs aren't mistaken for credit cards: Implement `LlmProvider` to use any backend (Anthropic, a local model, a rules engine…): ```ts -import type { LlmProvider } from '@mobiletic/anonymizer'; +import type { LlmProvider } from '@mobiletic-labs/anonymizer'; const myProvider: LlmProvider = { isConfigured: () => true, diff --git a/examples/README.md b/examples/README.md index 88b457d..0216e3b 100644 --- a/examples/README.md +++ b/examples/README.md @@ -1,6 +1,6 @@ # Live example -[`demo.mjs`](./demo.mjs) runs `@mobiletic/anonymizer` against a real +[`demo.mjs`](./demo.mjs) runs `@mobiletic-labs/anonymizer` against a real OpenAI-compatible LLM (built with Gemma 4 via Infomaniak) on a set of fictional Swiss e-learning chats: 5 single messages of rising complexity (up to 5 people, with rare attributes the model must coin itself) and 5 multi-turn conversations diff --git a/examples/demo.mjs b/examples/demo.mjs index c264d6e..e65d9d7 100644 --- a/examples/demo.mjs +++ b/examples/demo.mjs @@ -1,4 +1,4 @@ -import { Anonymizer, openAICompatibleProvider, AnonymizationError } from '@mobiletic/anonymizer'; +import { Anonymizer, openAICompatibleProvider, AnonymizationError } from '@mobiletic-labs/anonymizer'; import { writeFileSync } from 'node:fs'; // ── LLM-only (no regex patterns) → everything is handled purely by the model. @@ -271,7 +271,7 @@ function toMarkdown() { return parts.join('\n'); } -console.log('\n@mobiletic/anonymizer — démonstration live (Infomaniak)\n'); +console.log('\n@mobiletic-labs/anonymizer — démonstration live (Infomaniak)\n'); console.log( `Modèle: ${process.env.GEMMA_MODEL || '(non défini)'} · Endpoint: ${process.env.INFOMANIAK_AI_BASE_URL || '(non défini)'}\n`, ); diff --git a/package-lock.json b/package-lock.json index c347001..3209492 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { - "name": "@mobiletic/anonymizer", + "name": "@mobiletic-labs/anonymizer", "version": "0.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "@mobiletic/anonymizer", + "name": "@mobiletic-labs/anonymizer", "version": "0.1.0", "license": "MIT", "devDependencies": { diff --git a/package.json b/package.json index 3459cd4..3de6d22 100644 --- a/package.json +++ b/package.json @@ -1,16 +1,16 @@ { - "name": "@mobiletic/anonymizer", + "name": "@mobiletic-labs/anonymizer", "version": "0.4.0", "description": "Framework-agnostic PII anonymization & pseudonymization: pluggable LLM detection for free-form PII (names, addresses) with a deterministic regex fallback, deterministic coreference, and streaming-safe de-anonymization.", "license": "MIT", "author": "Mobiletic", - "homepage": "https://git.mobiletic.net/mobiletic/anonymizer#readme", + "homepage": "https://git.mobiletic.net/mobiletic-labs/anonymizer#readme", "repository": { "type": "git", - "url": "git+https://git.mobiletic.net/mobiletic/anonymizer.git" + "url": "git+https://git.mobiletic.net/mobiletic-labs/anonymizer.git" }, "bugs": { - "url": "https://git.mobiletic.net/mobiletic/anonymizer/issues" + "url": "https://git.mobiletic.net/mobiletic-labs/anonymizer/issues" }, "keywords": [ "anonymization",