Project Overview - striae-org/striae GitHub Wiki
What Is Striae?
Striae is a cloud-native forensic annotation and documentation platform for firearms examination workflows.
It is designed to help examiners document visual reasoning, support peer review, and produce defensible case artifacts while fitting into existing lab ecosystems.
Table of Contents
- Overview
- Product Role
- Position in the Firearms Workflow
- Core Capabilities
- Architecture Snapshot
- What Striae Is and Is Not
- Documentation Map
- Project Status
- Support and License
Overview
Striae focuses on the documentation and review layer of firearms comparison work.
The platform supports:
- Structured annotation of comparison imagery.
- Peer-review and confirmation workflows.
- Export and report-ready evidence artifacts.
- Audit-friendly records of user actions and workflow events.
Product Role
Striae is intended to complement, not replace, acquisition and intelligence systems.
It provides a dedicated environment for:
- Organizing comparison imagery for casework.
- Capturing examiner decisions and rationale.
- Preserving review and confirmation context.
- Producing outputs suitable for QA, legal review, and reporting.
Position in the Firearms Workflow
graph TB
subgraph A[Evidence and Acquisition]
A1[Evidence Collection]
A2[Microscopy and Imaging Systems]
end
subgraph B[Comparison and Analysis]
B1[Examiner Evaluation]
B2[Algorithmic or Vendor Tooling]
end
subgraph C[Striae]
C1[Annotation]
C2[Review and Confirmation]
C3[Documentation and Exports]
end
subgraph D[Case Delivery]
D1[LIMS and Case Records]
D2[Court and QA Documentation]
end
A --> B
B --> C
C --> D
In practice:
- Upstream tools provide the source imagery.
- Striae captures human-driven interpretation and review activity.
- Downstream systems consume Striae outputs as part of case records and reporting.
Core Capabilities
- Image-centric annotation workflows for case comparison.
- Split left/right item modeling for annotations, item details, and side-specific note capture.
- Confirmation workflows between original and reviewing examiners.
- Export pathways for case, confirmation, and report artifacts, including item-aware PDF output.
- Mandatory package encryption for case, confirmation, and archive workflows with fail-closed import decryption requirements.
- Read-only archival workflows with signed case packages and bundled audit evidence.
- Navbar-driven case/file operations with workflow-aware action gating.
- Shared confirmation status summaries for fast per-file/per-case confirmation visibility, including left/right item type awareness in file workflows.
- Integrity-aware workflows that support forensic trust requirements.
- Audit trail capture for accountability and compliance-oriented review.
Detailed implementation for these capabilities is documented in specialized guides.
Architecture Snapshot
At a high level, Striae is composed of:
- A React Router frontend deployed on Cloudflare Pages.
- A same-origin Pages Functions API gateway (
/api/*) that verifies Firebase bearer tokens and forwards requests upstream. - Five domain-focused Cloudflare Workers for user, data, audit, image, and PDF services.
- Modular worker source trees that separate handlers, storage, registry, cleanup, and format concerns by domain.
- Internal worker credentials and routing domains managed through deployment secrets.
- Separated storage concerns across Cloudflare KV and dedicated Cloudflare R2 buckets (case data, audit data, encrypted files/images).
- Derived confirmation-status metadata stored alongside user data for lightweight UI status hydration.
- Firebase Authentication for identity and session trust.
For architecture patterns and service boundaries, see Architecture Guide.
What Striae Is and Is Not
Striae is:
- A workflow and documentation platform for forensic firearms examination.
- A collaboration layer for review, confirmation, and traceable case outputs.
- A cloud-native system designed for operational scale and distributed access.
Striae is not:
- A replacement for microscope or acquisition hardware.
- A ballistic intelligence database.
- A full LIMS replacement.
- A proprietary matching engine focused on black-box comparison outcomes.
Documentation Map
Use the guide set by question:
- System boundaries and architecture patterns: Architecture Guide
- Public API routes and worker contracts: API Reference
- Frontend component structure: Component Guide
- Security controls and hardening: Security Guide
- Confirmation trust workflow and validations: Authenticated Confirmation System
- Manifest and confirmation signing model: Manifest and Confirmation Signing
- Export package encryption and decryption flow: Export Encryption
- Worker-side data-at-rest encryption and key management: Data-at-Rest Encryption
- Audit model and reporting flows: Audit Trail System
- PDF report module architecture: PDF Report System
- Error strategy and patterns: Error Handling Guide
- Deployment and environment setup: Installation Guide, Environment Variables Setup
Project Status
Striae is actively maintained and continues to evolve with forensic workflow, security, and documentation improvements.
Support and License
- Support portal: Striae Support
- Community discussions: GitHub Discussions
- Contact: [email protected]
- License: Apache 2.0 (see LICENSE)