# Juridisk disclaimer & ansvarsbegrensning

## Strategisk mål

**Ikke bli personlig ansvarlig.** Hullproof er et verktøy, ikke en garantist. Kunder må forstå at AI-analysen er en **hjelp til vurdering**, ikke en erstatning for profesjonell inspeksjon.

---

## Disclaimer-tekst (for Terms of Service)

**Kopi-klar tekst:**

```
DISCLAIMER OF WARRANTIES AND LIMITATION OF LIABILITY

HULLPROOF IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 
INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR 
PURPOSE, OR NON-INFRINGEMENT.

Hullproof uses artificial intelligence to analyze video footage of maritime assets. 
The analysis results are:

1. **NOT A SUBSTITUTE** for professional inspection by certified marine surveyors, 
   classification societies, or regulatory authorities.

2. **NOT A GUARANTEE** of accuracy. AI models may misinterpret visual data, miss 
   critical issues, or flag false positives.

3. **NOT LEGALLY BINDING** for regulatory compliance, insurance claims, or warranty 
   purposes without independent verification.

4. **SUBJECT TO LIMITATIONS** including but not limited to:
   - Video quality and resolution
   - Lighting conditions
   - Water clarity
   - Camera angle and stability
   - Model version and training data

YOU ACKNOWLEDGE THAT:
- Hullproof analysis is an **advisory tool** only
- You are responsible for **independent verification** of all findings
- You must comply with all applicable maritime regulations (IMO, flag state, 
  classification society requirements)
- Hullproof is **not liable** for decisions made based on analysis results

LIMITATION OF LIABILITY:
To the maximum extent permitted by law, Hullproof, its affiliates, officers, 
directors, employees, and agents shall not be liable for any indirect, incidental, 
special, consequential, or punitive damages, including but not limited to:
- Loss of revenue or profits
- Loss of use of assets
- Regulatory fines or penalties
- Insurance claim denials
- Personal injury or property damage

In no event shall Hullproof's total liability exceed the amount paid by you for 
the service in the 12 months preceding the claim.

INDEMNIFICATION:
You agree to indemnify and hold harmless Hullproof from any claims, damages, 
losses, liabilities, and expenses (including legal fees) arising from:
- Your use of Hullproof analysis results
- Your failure to comply with maritime regulations
- Your reliance on Hullproof without independent verification
```

---

## Strenge land (Australia, New Zealand, etc.)

### Problem
- Australia har strenge biofouling-regler (Biosecurity Act 2015)
- Feil kan føre til store bøter (hundretusener av dollar)
- Kunder trenger ekstra garantier/verifisering

### Løsning: "High-Stakes Mode" / "Regulatory Compliance Mode"

**Implementering:**

1. **Geografisk deteksjon:**
   - Når kunde velger koordinater eller rute som går til Australia/NZ → automatisk flagg
   - Varsel: "This analysis is for a vessel entering Australian waters. Additional verification recommended."

2. **Ekstra disclaimer (for strenge land):**
   ```
   AUSTRALIAN WATERS / HIGH-STAKES MODE:
   
   This analysis is NOT sufficient for Australian Biosecurity Act compliance.
   You MUST:
   1. Obtain independent inspection by certified marine surveyor
   2. Submit official documentation to Australian Border Force
   3. Verify all findings before vessel entry
   
   Hullproof accepts NO liability for biosecurity violations or penalties.
   ```

3. **"Compliance Checklist" (valgfritt feature):**
   - Kunde må merke av: "I understand this analysis is advisory only"
   - "I will obtain independent verification before entering Australian waters"
   - "I understand Hullproof is not liable for regulatory penalties"

4. **Audit trail (allerede implementert):**
   - Alle analyser har immutable hash
   - Kan bevise hva som ble analysert, når, med hvilken modell
   - Dette beskytter DEG (du kan vise at analysen var korrekt utført)

**Anbefaling:**
- Legg til geografisk varsel automatisk (basert på koordinater/rute)
- Ekstra disclaimer for Australia/NZ
- Ikke over-engineer før du har faktiske kunder fra disse landene

---

## Filformater per tier

### Spørsmål: Bør alle tiers ha samme formater?

**Svar: Nei – men ikke av tekniske årsaker.**

**Anbefaling (apex-nivå):**

| Tier | Formater | Begrunnelse |
|------|----------|-------------|
| **Starter** | MP4, MOV, AVI, WebM | Standard-formater som dekker 95% av bruksområder |
| **Professional** | + MKV, MPEG, FLV | Profesjonelle kameraer bruker ofte MKV/MPEG |
| **Enterprise** | Alle formater + stillebilder (JPEG, PNG) | Enterprise har eksotiske krav, stillebilder for sammenligning |

**Hvorfor ikke samme formater?**
- **Teknisk:** Ingen forskjell – alle formater kan støttes for alle tiers
- **Business:** Dette er en **differentiator** – Enterprise får "alt"
- **Support:** Færre formater = færre support-cases for Starter-tier

**Alternativ (hvis du vil være "fair"):**
- Alle tiers får samme formater
- Enterprise får **prioritert support** for eksotiske formater
- **Anbefaling:** Dette er bedre – ikke kunstig begrense formater, men differensier på support-nivå

---

## Hvordan kunder laster opp til GCS URI

### Nåværende flyt

1. **Kunde:** Last opp video via drag & drop eller filvelger
2. **Frontend:** Sender til `/api/upload` (multipart/form-data)
3. **Backend:** Validerer fil → laster opp til GCS → returnerer GCS URI (`gs://bucket/path`)
4. **Frontend:** Automatisk analyser med GCS URI

### Kundereise (tenkt)

**Scenario 1: Direkte upload (nåværende)**
```
Kunde → Last opp video → Hullproof uploader til GCS → Analyse → Resultat
```

**Scenario 2: Har allerede video i GCS**
```
Kunde → Lim inn GCS URI → Analyse → Resultat
```

**Scenario 3: ROV-operatør (fremtid)**
```
ROV → Video direkte til GCS (via ROV-software) → Kunde limer inn URI → Analyse
```

**Scenario 4: Mobile app (fremtid)**
```
Inspektør → Filmer med mobil → App laster opp til GCS → Analyse → Resultat på mobil
```

### Hvorfor GCS URI er nødvendig

- **Skalerbarhet:** Store filer (500 MB+) kan ikke sendes direkte til API
- **Delbarhet:** Samme video kan brukes i flere analyser (Coating Passport, Forensic, etc.)
- **Audit trail:** Permanent referanse til originalfil
- **Kostnad:** Billig lagring (~$0.02/GB/måned)

**Kunder forstår dette:** De ser "gs://bucket/path" i UI, kan kopiere og dele med team.

---

## Store filer: Dele opp vs komprimere

### Spørsmål: Kan vi dele opp store filer?

**Svar: Nei – ikke anbefalt.**

**Hvorfor ikke dele opp:**
1. **AI-kontekst:** Gemini trenger hele videoen for å forstå sammenheng
2. **Problem-areas:** Kan gå på tvers av segmenter
3. **Kompleksitet:** Må kombinere resultater fra flere segmenter → høy teknisk gjeld
4. **Kvalitet:** Segmentering kan ødelegge video-kontekst

### Komprimere?

**Svar: Nei – ikke før analyse.**

**Hvorfor ikke komprimere:**
- **Kvalitetstap:** Komprimering reduserer detaljer → dårligere AI-resultater
- **Begroing er subtil:** Mye begroing er usynlig ved lav oppløsning
- **Korrosjon krever detaljer:** Må se tekstur, farge-endringer

**Når komprimere:**
- **Etter analyse:** Komprimer for lagring/arkiv (hvis kunde vil spare plass)
- **Ikke før analyse:** Alltid analyser originalkvalitet

### Anbefaling (apex-nivå)

**Løsning: Resumable Upload + Progress Indicator**

1. **For filer >100 MB:**
   - Bruk GCS Resumable Upload API
   - Vis progress bar ("Uploading... 45%")
   - Pause/resume ved nettverksbrudd
   - **Teknisk gjeld:** Lav (GCS SDK støtter dette)

2. **For filer >500 MB (Enterprise):**
   - Varsel: "Large file detected. Upload may take several minutes."
   - Background upload (kan lukke nettleseren, fortsetter)
   - Email-notifikasjon når ferdig

3. **Ikke gjør:**
   - ❌ Dele opp filer
   - ❌ Komprimere før analyse
   - ❌ Begrense filstørrelse kunstig (bruk tier-basert i stedet)

---

## GitHub

### Spørsmål: Er prosjektet lagret i GitHub?

**Svar: Ukjent – sjekk selv.**

**Hvordan sjekke:**
```bash
cd /home/jarlehaugereid/Hullproof/dashboard
git remote -v
```

**Anbefaling:**
- **Ja, lag i GitHub** (privat repo)
- **Backup:** GitHub = backup + versjonskontroll
- **Sikkerhet:** Private repo, ikke commit secrets (.env.local)

**Hvis ikke i GitHub:**
```bash
git init
git add .
git commit -m "Initial commit"
# Opprett privat repo på GitHub, deretter:
git remote add origin https://github.com/[brukernavn]/hullproof-dashboard.git
git push -u origin main
```

---

## Oppsummering

1. **PDF-feil:** Fikset (eksplisitt font-registrering)
2. **Juridisk disclaimer:** Lagret i `docs/LEGAL_DISCLAIMER.md` (kopi-klar tekst)
3. **Strenge land:** Geografisk varsel + ekstra disclaimer (Australia/NZ)
4. **Filformater:** Alle tiers kan få samme formater (differensier på support i stedet)
5. **GCS URI:** Nødvendig (skalerbarhet, audit trail, delbarhet)
6. **Store filer:** Resumable Upload, ikke dele opp eller komprimere før analyse
7. **GitHub:** Sjekk selv, anbefaler privat repo

Alt dokumentert og klart for implementering.
