Files
contact-tools/public/README.md
T
zemion eb7ff7ae8f
Verify / verify (push) Canceled after 0s
Release Contact Tools 0.2.0
2026-09-02 11:45:06 +02:00

39 lines
1.8 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 2.1, 3.0 and 4.0 contact sets
- Editable core names, organizations, titles, emails, phones, addresses, URLs, birthdays, notes, UIDs and categories
- Canonical vCard 2.1/3.0/4.0 export with UTF-8-aware 75-octet line folding
- Quoted-printable and bounded Base64 decoding, grouped-property support, and loss-preserving retention of unmapped IANA/X properties and parameters
- Loss-preserving RFC 7095 jCard import/export and a focused JSContact
import/export adapter with unmapped-field evidence
- 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. Encoded values are limited to 64 KiB per property; malformed encodings are diagnosed while their raw values remain preserved. 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.2.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).