1.8 KiB
1.8 KiB
Contact Tools
Inspect, convert, and reconcile contacts locally in the browser.
Contact Tools is a standalone local-first application in the add·ideas Toolbox. 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 and docs/PRIVACY-SECURITY.md.
Development
Requires Node.js 22 and npm 11.
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.