2026-08-31 22:37:01 +02:00
2026-08-31 22:37:01 +02:00
2026-08-31 22:37:01 +02:00
2026-08-31 22:37:01 +02:00
2026-08-31 22:37:01 +02:00
2026-08-31 22:37:01 +02:00
2026-08-31 22:37:01 +02:00
2026-08-31 22:37:01 +02:00
2026-08-31 22:37:01 +02:00
2026-08-31 22:37:01 +02:00
2026-08-31 22:37:01 +02:00
2026-08-31 22:37:01 +02:00
2026-08-31 22:37:01 +02:00
2026-08-31 22:37:01 +02:00
2026-08-31 22:37:01 +02:00
2026-08-31 22:37:01 +02:00

Office Tools

Office Tools is a local-first browser application for opening and inspecting office documents without sending them to a server. The initial release focuses on safe, useful viewing of documents, spreadsheets and presentations in both Office Open XML and OpenDocument packages.

The application is part of the add·ideas Toolbox, but remains fully usable as a standalone static site at any URL depth.

Initial format scope

Kind Office Open XML OpenDocument Legacy binary
Documents .docx .odt .doc is a later compatibility track
Spreadsheets .xlsx .ods .xls is a later compatibility track
Presentations .pptx .odp .ppt is a later compatibility track

The viewer is deliberately read-only. It aims to preserve readable content, structure and useful styling while clearly reporting features it cannot render. It does not claim pixel-perfect fidelity with Microsoft Office or LibreOffice. Macros, scripts, external resources and embedded active content are never run.

Office Open XML files use local Rust/WebAssembly parsers and canvas renderers. OpenDocument files use the project's bounded ZIP/XML reader and semantic React views. Both paths run locally, keep the interface responsive, support search and navigation, and accept source files up to 100 MiB.

See docs/FORMAT-SUPPORT.md for the feature matrix and known limits.

Privacy and security

  • File bytes are read locally and are never uploaded.
  • There is no telemetry, analytics or CDN runtime dependency.
  • Imported markup is converted to application-owned React output; it is not inserted as trusted HTML.
  • Document links remain inert in this release, and no macros, scripts or embedded active objects are executed.
  • Parsing uses explicit file, package and rendering limits. A malformed file fails as data rather than taking over the application.

See docs/PRIVACY-SECURITY.md for the threat model.

Development

Requirements: Node.js 22 or newer and npm 11 or newer. The committed .npmrc points the @add-ideas scope at the ADD Ideas package registry; credentials stay in the caller's npm configuration.

npm ci
npm run dev

The complete local verification gate is:

npm run check
npm run test:browser

vite.config.ts uses base: './'. All application URLs, WASM and worker assets must remain relative so a production build works at /apps/office/, in a deeper test path, or standalone.

Release artifact

Create the deterministic application ZIP and checksum with:

npm run release:artifact

The result is written to:

release/office-tools-0.1.0.zip
release/office-tools-0.1.0.zip.sha256

The archive contains toolbox-app.json, built assets, the full GPL licence, third-party notices, a generated runtime licence inventory, documentation and SOURCE.md. File order, timestamps and modes are normalized for reproducible output.

Toolbox identity

The application uses @add-ideas/toolbox-shell-react 0.2.3 and validates its production tree with @add-ideas/toolbox-testkit.

Licence

Office Tools is free software licensed under GPL-3.0-or-later. See LICENSE. Bundled dependencies retain their own licences; see THIRD_PARTY_NOTICES.md and LICENSES.

S
Description
No description provided
Readme GPL-3.0
334 KiB
2026-09-02 07:32:31 +02:00
Languages
TypeScript 85%
CSS 8.8%
JavaScript 6%
HTML 0.2%