Release Package Tools 0.1.0
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
# Accessibility
|
||||
|
||||
Package Tools uses native headings, buttons, tables, details/summary trees,
|
||||
labels, status regions and dialogs. All workbench operations are keyboard
|
||||
reachable, focus indicators are visible, and state is not conveyed only by
|
||||
colour. Layout reflows to one column on narrow screens and follows the toolbox
|
||||
light, dark and system themes.
|
||||
|
||||
The recursive package tree can be verbose for screen readers; path search and
|
||||
the tabular result view provide an alternative. Please report accessibility
|
||||
problems with browser and assistive-technology details.
|
||||
@@ -0,0 +1,18 @@
|
||||
# Architecture
|
||||
|
||||
The React workbench is a thin UI over four bounded layers:
|
||||
|
||||
1. `src/archive` validates ZIP metadata, paths, sizes, compression ratios and
|
||||
selected-entry extraction using zip.js without workers.
|
||||
2. `src/package/analyze.ts` selects at most 512 metadata files / 16 MiB,
|
||||
determines a package adapter, parses static XML or bounded JSON, and builds
|
||||
references and diagnostics.
|
||||
3. Tree and comparison modules create deterministic projections without
|
||||
reading entry payloads.
|
||||
4. The preview path reopens the package and performs strict CRC/overlap checks
|
||||
for one bounded entry. Markup is text-only; only browser-supported raster
|
||||
image/audio/video blobs receive local object URLs.
|
||||
|
||||
The UI lazy-loads the workbench beneath the shared toolbox shell. The app uses
|
||||
relative URLs so it works under nested portal paths, and a service worker caches
|
||||
same-origin resources after first use.
|
||||
@@ -0,0 +1,15 @@
|
||||
# Privacy and security model
|
||||
|
||||
Files remain in browser memory and are never uploaded. Package Tools performs
|
||||
no telemetry, DNS lookup, external relationship fetch, certificate lookup or
|
||||
signature validation. Export occurs only after an explicit button press.
|
||||
|
||||
Limits in v0.1 include 512 MiB source and aggregate declared expansion, 20,000
|
||||
entries, 256 MiB per entry, 200:1 compression ratio, 2 MiB per metadata entry,
|
||||
16 MiB total inspected metadata, and 512 metadata files. UI rendering is capped
|
||||
at 5,000 tree/comparison rows while diagnostics cover the bounded inventory.
|
||||
|
||||
External URLs are displayed as inert text. XML containing DTD or ENTITY
|
||||
declarations is rejected. SVG, HTML, JavaScript, PDF and executable content are
|
||||
never rendered from a package; raster image/audio/video preview is delegated to
|
||||
the browser through a local blob URL.
|
||||
Reference in New Issue
Block a user