CCS PDF Editor · Docs

# CCS PDF Editor

Field | Value
--- | ---
Version | 1.5.40
Owner | CCS Information Technology
Approved by | CCS Information Technology
Last updated | 2026-08-15
Review frequency | Annual (or after major product / deploy change)
Next review | 2027-08-05

Internal offline-first PDF viewer and editor for Community Counseling Solutions. Staff open PDFs (or project files) on their device, annotate, fill and design fillable AcroForm fields, work with multiple documents in tabs, run local OCR, unlock many password-protected PDFs, and save either an editable `.ccspdf` project or a `.pdf` (annotations flattened; form fields remain fillable; optional password on export). Document bytes are processed in the browser or Windows shell; the application does not upload document content to a CCS app server.

Stack: Static HTML / CSS / vanilla JavaScript, PDF.js, pdf-lib, QPDF (WASM), html2canvas, Tesseract.js (all vendored under `lib/`). Central `config.js` for feature flags and cache-busting. Optional Windows WebView2 shell.

Release notes: docs/CHANGELOG-1.5.25.md · prior: docs/CHANGELOG-1.5.3.md

Document | Audience | Contents
--- | --- | ---
docs/AUDITOR-FAQ.md | Auditors, leadership | One-page Q&A cover sheet + evidence map
docs/SYSTEM-PROFILE.md | Auditors, IT leads | System owner card: owners, contacts, classification, host fields
docs/GOVERNANCE.md | Auditors, IT, compliance | Change mgmt, access, privacy posture, residual risk, IR, evidence pack
docs/ARCHITECTURE.md | Architects, IT leads | Client-side design, data flow, deploy topology, offline model
docs/DEVELOPMENT-STANDARDS.md | Developers | Coding, security, offline rules, release checklist
docs/HOW-TO.md / docs/index.html | End users (staff landing) | Everyday how-to; generated `docs/index.html`
docs/USER-GUIDE.md | End users / power users | Workspaces, fill vs design, save, OCR, passwords
docs/USER-TRAINING.md | Trainers / supervisors | Training tracks A–D
docs/marketing/ | Browser / offline pack | HTML renders (IT overview + generated docs)
docs/marketing/executive-pitch.html | Leadership / IT | Frank-style meeting pitch + market comparison
docs/WINDOWS-INSTALL-SOP.md | IT support | Short Windows package install + smoke test
scripts/extract-ccspdf-audit.ps1 | IT / IR | Extract/verify project trailer + rolling audit from `.ccspdf` (also ships as `tools\Extract Project Audit.bat` in the Windows package)
deploy_windows/README.md | IT deployers / builders | Windows WebView2 package build details
VERSION | All | Product version (semver) for this release
LICENSE | Legal / IT | Internal-use ownership, support, and restrictions
NOTICE | Legal / IT | Third-party library disclosures

Staff how-to: open docs/index.html (from docs/HOW-TO.md; also linked from the in-app ? help).

IT / auditor pack: open docs/marketing/index.html. After editing markdown, regenerate HTML with:

    powershell -File docs/marketing/render-docs.ps1

## What it is for

1. Open PDFs / `.ccspdf` (including many password-protected PDFs).
2. Fill existing fillable forms in Editor with Pointer.
3. Annotate — text, stamps, shapes, tables, images, snip-and-move, signature image.
4. Design fillable fields in Form workspace (supported native fields auto-import for layout tools).
5. OCR English scans offline.
6. Save Project (`.ccspdf` — editable state + short rolling edit insight log) or Save PDF (flatten annotations; keep fields fillable; optional password).
7. Print via the browser / host print dialog.
8. IT only: extract project trailer audit with `scripts/extract-ccspdf-audit.ps1` or Windows package `tools\Extract Project Audit.bat`.

Not a substitute for: enterprise e-signature platforms with identity proofing, certified legal holds, or a DMS of record.

## Key capabilities

Area | Highlights
--- | ---
Tabs | Multi-document workspace (config-gated); session restore via IndexedDB
Workspaces | Editor (annotate + fill) vs Form (design fields)
View | PDF.js canvas + text layer + interactive form widgets
Edit | DOM overlays (text, rect, line, table, image, snip)
Fillable forms | Native fill; designer shells; strip + re-embed on export for reliable AcroForms
Passwords | Open password dialog; optional export protect (QPDF WASM)
History | Command-pattern undo / redo (instruction tape) + pages panel
OCR | Tesseract.js offline (embeds for `file://`); active document only
Project save | `.ccspdf` — re-editable; catalog `/CCSProject` (GZipHex) + layered seal; optional legacy trailer
Final PDF | Flatten annotations; keep fillable AcroForms; embed `/CCSProject` for audit; optional encrypt
Form signatures | Name line + attestation meta (hashed into schema seal); hover popover for full hashes + copy
Offline intent | Vendored libs; browser pack; Windows EXE
PWA hooks | `manifest.json`, `launch_handler` focus-existing, service worker stub on HTTPS

## Deploy options

Path | Command / artifact | Audience
--- | --- | ---
Intranet HTTPS | Copy static tree (or `app/` contents) to web host | Primary production
Browser offline zip | `scripts/build-release.ps1` → `dist/CCS-PDF-Editor-*` | USB / share / no server
Windows desktop | `scripts/build-windows.ps1` → `dist/CCS-PDF-Editor-Windows-*` | Open with / Desktop icon

### OWA (HTTPS)

1. Deploy static files; align `manifest.json` `start_url` with public path.
2. Prefer intranet-only HTTPS.
3. Smoke-test open → fill form → annotate → Save Project → Save PDF → Print.
4. Record host URL and version on docs/SYSTEM-PROFILE.md.

### Windows package

See the short IT procedure: docs/WINDOWS-INSTALL-SOP.md.

1. Unzip `CCS-PDF-Editor-Windows-*`.
2. Run `CcsPdfEditor.exe`.
3. Optional: `tools\Create Desktop Shortcut.bat`.
4. Recommended: `tools\Register File Types.bat` (`.ccspdf` default; `.pdf` Open with).

Build notes: deploy_windows/README.md.

## Requirements

Component | Notes
--- | ---
Browser | Modern Chromium, Edge, Firefox (or Safari); File System Access preferred on Chromium
Host (OWA) | Static HTTPS file host; no app DB
Windows shell | WebView2 Runtime; .NET Desktop Runtime 8+ unless self-contained build
Disk | Space for open documents in memory and saved outputs

## Support

Item | Contact
--- | ---
Entry point | IT Helpdesk — ITHelpdesk@ccsemail.org
Technical owner | CCS Information Technology Department
Security / privacy escalation | CCS Incident Response process (via IT Helpdesk)

## Compliance summary

This application does not maintain a document database or application-level user roles, and does not upload PDF content to an application API. Documents are processed on the endpoint and saved by the user. Residual risk is concentrated on endpoint handling, static-host integrity, and file storage practices. See docs/GOVERNANCE.md §4–§5 and docs/AUDITOR-FAQ.md.

Rendered for the browser from repository markdown. Edit the `.md` sources, then re-run `powershell -File docs/marketing/render-docs.ps1` from the repo root.