36 lines
1.6 KiB
Markdown
36 lines
1.6 KiB
Markdown
# Contact Tools
|
|
|
|
Inspect, convert, and reconcile contacts locally in the browser.
|
|
|
|
Contact Tools is a standalone local-first application in the [add·ideas Toolbox](https://git.add-ideas.de/lotobo/toolbox-portal). Inputs are processed in the browser and are not uploaded.
|
|
|
|
## Version 0.1 scope
|
|
|
|
- Unfolding and bounded parsing of vCard 3.0 and 4.0 contact sets
|
|
- Editable core names, organizations, titles, emails, phones, addresses, URLs, birthdays, notes, UIDs and categories
|
|
- Canonical vCard 3.0/4.0 export with UTF-8-aware 75-octet line folding
|
|
- RFC 4180-style CSV import with inferred, reviewable column mapping and spreadsheet-formula-safe CSV export
|
|
- Explainable exact duplicate candidates and a conflict-reporting, left-biased merge preview
|
|
- Explicit, local vCard QR generation with a conservative payload bound and SVG download
|
|
- Masked overview fields, one-click memory clearing, and no persistence or telemetry
|
|
|
|
Text input is limited to 2 MiB, 50,000 physical lines and 2,000 contacts. Binary and quoted-printable properties are diagnosed but not decoded, and unsupported properties are reported rather than silently round-tripped. See [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) and [docs/PRIVACY-SECURITY.md](docs/PRIVACY-SECURITY.md).
|
|
|
|
## Development
|
|
|
|
Requires Node.js 22 and npm 11.
|
|
|
|
```sh
|
|
npm ci
|
|
npm run check
|
|
npm run test:browser
|
|
```
|
|
|
|
## Release
|
|
|
|
`npm run release:artifact` creates a deterministic `release/contact-tools-0.1.0.zip` and checksum sidecar.
|
|
|
|
## Licence
|
|
|
|
GPL-3.0-or-later. Runtime dependencies retain their own licences; see [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md).
|