EVIDENCE-FIRST • 證據優先
Evidence-First
Document Ingestion
Preserve the original.
Extract structured content.
Trace every derived artifact back to its source.
Original first. Derived second. Evidence always traceable.
SOURCE HASH
report.pdf / AAA...
Original integrity
↓
TRANSFORM
TRANSFORMATION RECORD
Tool: MarkItDown
Version: 0.1.2
Time: 2026-09-21T10:32:11Z
↓
DERIVED HASH
report.md / BBB...
Derived integrity
Evidence-First • Vanilla JS 19KB • No React • GitHub Pages /docs • Final Baseline

01 WHY EVIDENCE-FIRST

Transformation does not replace evidence.

02 INGESTION PIPELINE

Local files
→ MarkItDown
Web pages
→ Crawl4AI
Interactive
→ Browser Use
Future batch
→ Scrapy / Crawlee

SOURCE → INGEST → DERIVED ARTIFACT → EVIDENCE RECORD → TRACE / VERIFY

03 CORE TOOLS

MarkItDown
License: MIT (core project only; optional dependencies may carry different licenses)
Note: OCR extras previously involved PyMuPDF / AGPL
Role: Local doc extraction
Output: Markdown
microsoft/markitdown
Crawl4AI
License: Apache-2.0; project also specifies attribution requirements — check current LICENSE/README before redistribution
Official README: Apache License 2.0 + attribution clause in changelog
Role: Web page → Markdown
unclecode/crawl4ai
Browser Use (Extension)
License: MIT
browser-use/browser-use
Scrapy (Extension)
License: BSD-3-Clause
scrapy/scrapy

04 EVIDENCE CHAIN

Each record must include full path, tool version, derived hash.

Evidence ID: EV-0001
Source Name: report.pdf
Source Path: /Design/RevB/report.pdf
Source SHA-256: 8f4a3c9e1b2d...a1f9
Captured At: 2026-09-21T10:32:11Z
Tool: MarkItDown
Tool Version: 0.1.2
Derived Artifact: report.md
Derived SHA-256: b7e2f8a1c9d0...4e2a
Status: VERIFIED
Original
report.pdf
SHA256: AAA...
→
Tool + Version + Time
Transformation
MarkItDown
0.1.2
2026-09-21T10:32:11Z
→
Derived
report.md
SHA256: BBB...

Which source, with which tool version, at what time, produced which exact derived file.

05 EVIDENCE VIEWER

SOURCE
ORIGINAL
DERIVED

06 LIMITATIONS

Hash ≠ Truth - verifies integrity, not truthfulness.
Timestamp ≠ Authenticity
Derived ≠ Original
System ≠ Legal chain-of-custody

Hash 可驗證檔案完整性,但不能證明來源內容本身為真。

07 Appendix: Original 10-Tool Reference (Corrected)

#ToolRepo LinkCorrected InfoRole
1MarkItDownmicrosoft/markitdownMIT (core only; optional deps may differ, e.g. PyMuPDF/AGPL for OCR extras)Core
2Crawl4AIunclecode/crawl4aiApache-2.0; project also specifies attribution requirements — check LICENSE/READMECore
3Firecrawlmendableai/firecrawlAGPL-3.0 core, MIT SDKNot Core
4Browser Usebrowser-use/browser-useMITExtension
5ScraplingD4Vinci/ScraplingBSD-3-ClauseNot Core
6scrcpyGenymobile/scrcpyApache-2.0 / Android controlNot Core
7curl-impersonatelwthiker/curl-impersonateMIT / network compat only where permittedNot Core
8AutoScraperalirezamika/autoscraperMITNot Core
9Scrapyscrapy/scrapyBSD-3-ClauseExtension
10Crawleeapify/crawleeApache-2.0Extension
Evidence-First Document Ingestion
Source Code · GitHub • Evidence-First · GitHub Pages
Baseline for SCADA / engineering document ingestion • Vanilla JS • No React