Files
0pt/docs/compliance/OSS-INVENTORY.md
T

5.4 KiB

OSS-INVENTORY — 0pt (FAS 3)

Kartlagd 2026-08-10. Status per manifest/läsning: INSTALLERAD (i requirements.txt/package.json) vs PLANAD (docs/07-dependencies.md, ej installerad) vs REFERENS (nämnd i kod/docs). Licens-URLer och licenser är välkända, ej individuellt omverifierade denna pass (ANTAGANDE där annat ej anges).

1. Python — engine (services/api/requirements.txt)

Paket Roll Licens Status
fastapi API-ramverk MIT INSTALLERAD
uvicorn ASGI-server BSD-3-Clause INSTALLERAD
pydantic validering MIT INSTALLERAD
httpx HTTP (kompliant, identifierar sig) BSD-3-Clause INSTALLERAD, aktivt använd
asyncpg Postgres-driver Apache-2.0 INSTALLERAD men oanvänd (grep)
python-dotenv env BSD-3-Clause INSTALLERAD
pyyaml sources.yaml MIT INSTALLERAD, använd
rapidfuzz fuzzy matching / entity resolution (Levenshtein-familjen) MIT INSTALLERAD, enda matching-engine (workers/resolve.py)
tenacity retry Apache-2.0 INSTALLERAD
spaCy (+modeller) NER / entity resolution MIT (modeller: CC-BY-SA-3.0) PLANAD (docs/07), EJ installerad — NER saknas helt i kod
dedupe record linkage / dedupe MIT PLANAD/ERSATT — rapidfuzz fyller dedup-rollen idag; dedupe ej installerat
DuckDB kolumnanalys MIT REFERENS + kodanvändning — lazy-import i services/scrapers/clickhouse_pipeline.py:220 (DuckDBWriter), men SAKNAS i requirements.txt (GAP: låsas om den ska vara del av stacken)
Playwright kompliant JS-rendering (public pages) Apache-2.0 PLANAD (docs/07 rad 45) — ej installerad; klart skild från bypass
python-Levenshtein Levenshtein GPL-2.0-or-later UNDVIK medvetet — rapidfuzz (MIT) ersätter (GPL-kompatibilitetsskäl, docs/07-rad 39)
polars tabular MIT PLANAD, ej installerad
unstructured PDF/HTML→element Apache-2.0 PLANAD, ej installerad
paddleocr/pytesseract OCR Apache-2.0 PLANAD, ej installerad

2. Python — scrapers (services/scrapers/requirements.txt) — medvetet behållen stack

⚠️ AR-1-undantag (användarbeslut): hela services/scrapers/* + services/infra/docker-compose.data-stack.yml behålls intakt. OSS-inventeringen listar dem ärligt; compliance-bedömning sker i GOLDEN-STANDARD-REPORT.

Paket/komponent Roll Licens Status
curl_cffi TLS-fingerprintbyte MIT INSTALLERAD, använd i engine.py/engine_v2.py/waf_bypass.py
cloudscraper Cloudflare-bypass (basic) MIT INSTALLERAD, använd
httpx / aiohttp / requests HTTP BSD-3-Clause / Apache-2.0 / Apache-2.0 INSTALLERAD
beautifulsoup4 + lxml HTML-parsing MIT INSTALLERAD
boto3 S3-sync (MinIO/R2) Apache-2.0 INSTALLERAD, använd i s3_sync.py
FlareSolverr CF-bypass (tung) GPL-3.0 REFERENS — container i docker-compose.data-stack.yml + waf_bypass.py
Tor proxy-rotation BSD-3-Clause REFERENS — tor-proxy-container i docker-compose.data-stack.yml
nodriver undetected browser Apache-2.0 REFERENS (waf_bypass.py) — ej i requirements
DuckDB alternativ lagring MIT KODANVÄND (clickhouse_pipeline.py) men ej i requirements.txt — GAP

3. JS/TS (package.json, urval) — OSS + proprietär

Paket Roll Licens Status
next / react / react-dom App Router MIT INSTALLERAD
zod schema-validering MIT INSTALLERAD
jose JWT/JWKS MIT INSTALLERAD
stripe betalningar Apache-2.0 INSTALLERAD
postgres (pg) DB-driver Unlicense INSTALLERAD
tailwindcss / shadcn-ui-komponenter styling MIT INSTALLERAD
Radix-primitiver (react-*) a11y-komponenter MIT INSTALLERAD
vitest testrunner MIT INSTALLERAD
recharts diagram MIT INSTALLERAD
@vercel/analytics FÖRBJUDET (AR-4) MIT INSTALLERAD → tas bort FAS 6

4. Self-hosted containers (infra/, services/infra/)

Komponent Licens Status
postgres pgvector (pg16) PostgreSQL infra/docker-compose.yml (ej verifierat körande)
redis:7 BSD-3-Clause infra/docker-compose.yml
nocodb/nocodb AGPL-3.0 infra/docker-compose.yml
metabase/metabase AGPL-3.0 infra/docker-compose.yml
caddy Apache-2.0 infra/Caddyfile
clickhouse Apache-2.0 services/infra/data-stack (ej verifierat körande)
trino Apache-2.0 services/infra/data-stack
flaresolverr GPL-3.0 services/infra/data-stack — medvetet behållen
tor-proxy BSD-3-Clause services/infra/data-stack — medvetet behållen
superset Apache-2.0 services/infra/data-stack

5. Noteringar

  • AR-3 (ärvd licens): 0pt är ingen fork — egen proprietär kod. Inga ärvda licenser att ersätta. ✔
  • GPL-fläckar: FlareSolverr (GPL-3.0) och NocoDB/Metabase (AGPL-3.0) är containeriserade, ej inlänkade bibliotek — GPL-eksponeringen begränsad men bör hållas i åtanke vid byte av BI-verktyg.
  • Låsnings-GAP: duckdb används i kod (scrapers) men saknas i requirements.txt — se BACKLOG (P4).
  • Playwright/FlareSolverr radas som referens i samma dokumentfamilj men är varandras motsatser: Playwright = kompliant hämtning (docs/07, ej installerad), FlareSolverr = bypass (medvetet behållen).

6. Utfallsfil FAS 3

✅ docs/compliance/OSS-INVENTORY.md skapad.