tegwick b09290cb83 Release 0.1: Complete BinectChrome implementation
Implements all requirements from ProductRequirementsDocument.md:
- PDF detection via Chrome Downloads API
- Secure credential storage with AES-GCM encryption
- Binect API integration for PDF uploads
- Popup UI with Binect branding
- Local transfer tracking (500 entry cap)
- Help page with tracking view and CSV export
- 60-day credential retention with auto-expiry
- Accessibility compliance (WCAG 2.1 AA)

Technical implementation:
- Chrome Extension Manifest V3
- TypeScript with strict mode
- Webpack build system
- Jest test suite (22/22 passing)
- ESLint configured (0 errors)

Build output: 13 KB total (production minified)
Test coverage: crypto, pdf-detector, tracker, binect-api

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-13 00:30:39 +01:00
2026-01-12 17:27:43 +00:00

BinectChrome

A Chrome extension that enables users to send PDF documents from cloud applications directly to Binect for physical printing and postal delivery.

Overview

BinectChrome detects PDF downloads in your browser and allows you to send them directly to Binect for physical mail delivery, eliminating the manual download-upload workflow.

Features

  • PDF Detection: Automatically detects PDF downloads using Chrome Downloads API
  • Secure Transfer: Sends PDFs directly to Binect via encrypted connection
  • Credential Encryption: User credentials stored encrypted with automatic 60-day expiry
  • Local Tracking: Transfer history stored locally for transparency
  • Privacy-First: No PDF storage, explicit user consent required
  • Accessible Design: Follows WCAG 2.1 AA standards with Binect branding

Development

Prerequisites

  • Node.js 18+ and npm
  • Chrome browser for testing

Setup

# Install dependencies
npm install

# Run development build with watch mode
npm run dev

# Build for production
npm run build

# Run tests
npm test

# Run linter
npm run lint

# Fix linting issues
npm run lint:fix

# Type checking
npm run type-check

Project Structure

binect-chrome/
├── src/
│   ├── background/         # Service worker (background script)
│   ├── popup/             # Extension popup UI
│   ├── tracking/          # Tracking/help page
│   └── utils/             # Shared utilities
│       ├── crypto.ts      # Encryption utilities
│       ├── storage.ts     # Storage management
│       ├── pdf-detector.ts # PDF detection
│       └── binect-api.ts  # Binect API client
├── public/
│   ├── manifest.json      # Extension manifest
│   ├── icons/             # Extension icons
│   └── _locales/          # Localization
├── tests/                 # Jest tests
├── architecture/          # ADRs (Architecture Decision Records)
├── research/              # Research documentation
└── specs/                 # API specifications

Loading Extension in Chrome

  1. Build the extension: npm run build
  2. Open Chrome and navigate to chrome://extensions/
  3. Enable "Developer mode" (toggle in top right)
  4. Click "Load unpacked"
  5. Select the dist directory

Architecture

See CLAUDE.md for detailed architecture documentation.

Key architectural decisions are documented as ADRs in the architecture/ directory.

Testing

# Run all tests
npm test

# Run tests in watch mode
npm run test:watch

Tests cover:

  • Credential encryption/decryption
  • PDF detection
  • Binect API integration
  • Tracking system

Privacy & Security

  • No PDF Storage: PDFs are never stored by the extension
  • Encrypted Credentials: User credentials encrypted at rest using AES-GCM
  • 60-Day Expiry: Credentials automatically expire after 60 days of inactivity
  • Local-Only Tracking: All tracking data stored locally, never transmitted
  • Explicit Consent: All transfers require user click

Requirements

Implements all requirements from ProductRequirementsDocument.md:

  • PDF detection via Chrome Downloads API
  • Secure credential storage with encryption
  • Binect API integration for PDF upload
  • Popup UI with Binect branding
  • Local transfer tracking (capped at 500 entries)
  • Help page with tracking view
  • CSV export and email feedback mechanism
  • 60-day credential retention policy
  • Manual credential wipe option
  • Accessibility compliance (WCAG 2.1 AA)

Browser Compatibility

  • Chrome 88+ (Manifest V3 support)
  • Chromium-based browsers may work but are not officially supported in v1

Support

For issues, feature requests, or questions:

Email: bernd.worsch@binect.de

License

MIT License - see LICENSE file for details

Version

Current version: 1.0.0

Description
Browser plugin to send pdfs as paper letter with binect.
Readme MIT-0 2.7 MiB
Languages
TypeScript 75.3%
CSS 13.9%
HTML 6.9%
Shell 3%
JavaScript 0.9%