# Noterich P2P Sync Tutorial: Cross-Device without Cloud
> **Synchronise je aantekeningen over devices veilig – geen cloudopslag nodig.**
In een tijd waarin privacy belangrijker wordt dan ooit, biedt Noterich een innovatieve manier om aantekeningen te synchroniseren tussen verschillende devices. Onze **P2P (Peer-to-Peer) Sync**-functie maakt het mogelijk om aantekeningen over devices te delen zonder gebruik te maken van cloudservers. Je gegevens blijven van jou.
## Waarom P2P Sync kiezen?
Traditionele aantekeningenappen bewaren je gegevens op centrale servers. Dit brengt risico’s met zich mee op het gebied van privacy, kosten voor abonnementen en afhankelijkheid van externe infrastructuur. Noterich volgt een andere weg:
```mermaid
graph LR
A[Je Device] <-->|Directe verbinding| B[Je andere Device]
C[Cloud Server] -.->|Niet nodig| A
C -.->|Niet nodig| B
style A fill:#4CAF50,color:#fff
style B fill:#4CAF50,color:#fff
style C fill:#9E9E9E,color:#fff,stroke-dasharray: 5 5
```
### Belangrijkste voordelen
- **🔒 Privacy als eerste:** Je aantekeningen raken nooit externe servers aan
- **⚡ Snel en direct:** Devices communiceren direct voor snelle synchronisatie
- **💰 Geen abonnementen:** Gratis P2P synchronisatie zonder premium levels
- **🌐 Werkt overal:** Synchronisatie via lokale netwerk of internet
- **📱 Cross-platform:** Werkt tussen desktop, laptop, tablet en mobiele apparaten
## Hoe P2P Sync werkt
Noterich gebruikt **WebRTC-technologie** in combinatie met **PeerJS** om directe verbindingen tussen devices tot stand te brengen. Wanneer je een synchronisatie begint:
```mermaid
sequenceDiagram
participant D1 als Device A (Sender)
participant S als Signaling Server
participant D2 als Device B (Receiver)
D1->>S: Vraag om verbindings-ID
S-->>D1: Genereer ruimte-ID
D1->>D2: Delen van verbindings-link (QR/URL)
D2->>S: Verbinden met ruimte-ID
S-->>D2: Stellen van peerverbinding
D1->>D2: Versleutelen en verzenden van aantekeningen
D2->>D2: Ontcijferen en importeren van aantekeningen
Note over D1,D2: Direct versleutelde overdracht<br/>Geen gegevens op server opgeslagen
```
### De technologie achter de schermen
De P2P-implementatie van Noterich maakt gebruik van:
1. **PeerJS Bibliotheek:** Handelt met de complexiteit van WebRTC voor communicatie tussen browsers
2. **AES-GCM Versleuteling:** Militair niveau versleuteling voor je aantekeningengegevens
3. **PBKDF2 Key Derivation:** Veilige versleuteling op basis van wachtwoord
4. **MessagePack Serialisatie:** Efficiënte binairgegevenscodering voor snelle overdrachten
5. **IndexedDB Opslag:** Lokale database voor offline toegang
## Beginnen met P2P Sync
### Voorwaarden
Voor je kunt beginnen, moet je ervoor zorgen dat je:
- ✅ Noterich is geïnstalleerd op beide devices
- ✅ Beide devices zijn verbonden met internet (of dezelfde lokale netwerk)
- ✅ Een moderne webbrowser (Chrome, Firefox, Edge, Safari)
### Stap 1: Starten van het delen vanuit de brondevice
1. Open de aantekening die je wilt delen in Noterich
2. Klik op de **Delen**-knop in de toolbalk
3. Kies de **"P2P Delen"** optie
4. (Optioneel) Stel een wachtwoord in voor extra beveiliging
- Wachtwoorden moeten minimaal 8 tekens tellen
- Gebruikt AES-256-GCM versleuteling
5. Wacht tot de P2P-server is geïnitialiseerd
```mermaid
graph TD
A[Open Aantekening] --> B[Klik op Delen Knop]
B --> C[Kies P2P Delen]
C --> D{Set Wachtwoord?}
D -->|Ja| E[Invullen Wachtwoord ≥8 tekens]
D -->|Nee| F[Overstappen op Versleuteling]
E --> G[Initiëren P2P Server]
F --> G
G --> H[Genereren van Delen Link & QR Code]
```
### Stap 2: Delen van de verbindingslink
Zodra de P2P-server is gestart, genereert Noterich:
- **Een unieke delbare link** met verbindingsparameters
- **Een QR code** voor snel scannen op mobiele apparaten
De link heeft de volgende vorm:
```
https://noterich.com/#dbshare=<infoHash>&server=<signaling-server>
```
**Delingsmethoden:**
| Methode | Beste voor | Hoe te doen |
|--------|----------|--------|
| 🔗 Kopieer link | E-mail, messaging apps | Klik op "Kopieer link" |
| 📱 QR code | Mobiele apparaten | Scannen met camera van apparaat |
| 📧 E-mail | Verre medewerkers | Plaats link in e-mail |
### Stap 3: Ontvangen op de doeldevice
Op de ontvangende device:
1. **Open de delenlink**
- Klik rechtstreeks op de link, of
- Scannen van het QR code met je mobiele apparaat
2. **Bekijk de ontvangen aantekeningen**
- Bekijk titels en metadata van de aantekeningen
- Controleer de informatie van de afzender
3. **Vul het wachtwoord in** (als versleuteld)
- Voer het wachtwoord in die door de afzender is gegeven
- De gegevens worden lokaal ontcijferd op je apparaat
4. **Kies de bestemmingswerkplek**
- Kies een bestaande werkplek, of
- Maak een nieuwe werkplek voor geïmporteerde aantekeningen
5. **Bevestigen van import**
- De aantekeningen worden ontcijferd en opgeslagen in IndexedDB
- De zoekindex wordt automatisch opnieuw gecreëerd
```mermaid
graph TD
A[Open Link] --> B[Verbinden met Sender]
B --> C{Versleuteld?}
C -->|Ja| D[Vul Wachtwoord]
C -->|Nee| E[Ontvangen Metadata]
D --> E
E --> F[Bekijk aantekeningen]
F --> G[Kies Werkplek]
G --> H[Import & Index]
H --> I[Synchronisatie voltooid!]
style I fill:#4CAF50,color:#fff
```
## Geavanceerde functies
### Versleutelde overdrachten
Voor gevoelige aantekeningen biedt Noterich optioneel end-to-end versleuteling:
**Versleutelingsproces:**
```javascript
// Wachtwoord → Versleutelingssleutel (PBKDF2)
password + salt → deriveKey() → AES-256-GCM sleutel
// Aantekeningengegevens → Versleutelde buffer
noteData + key + iv → encrypt() → encryptedBuffer
// Overdrachtspakket
{
encryptedBuffer: ArrayBuffer,
salt: Uint8Array, // Voor sleutelontwikkeling
iv: Uint8Array // Initiatierivue
}
```
**Beveiligingsfuncties:**
- 🔐 100.000 PBKDF2 iteraties voor sleutelontwikkeling
- 🔐 Willekeurige salt en IV voor elke overdracht
- 🔐 AES-256-GCM geauthenticeerde versleuteling
- 🔐 Wachtwoord wordt nooit overgedragen – alleen lokaal gebruikt
### Batch-aantekeningen synchronisatie
Overdragen meerdere aantekeningen efficiënt:
1. Gebruik **Database Transfer** vanuit de instellingen
2. Kies **"P2P Sync"** modus
3. Kies aantekeningen om te synchroniseren
4. De ontvanger krijgt een batchpreview met keuzeopties
**Prestatieverbetering:**
- Aantekeningen worden in groepen overgedragen (512KB per groep)
- Non-blocking async verwerking voorkomt UI-verstoring
- Progress trackings met byte-niveau nauwkeurigheid
- Kan op elk moment worden stopgezet zonder dat gegevens worden beschadigd
### Conflicten oplossen
Wanneer aantekeningen op beide devices worden gesynchroniseerd:
```mermaid
graph TD
A[Detect conflikten] --> B{Vergelijk tijdstippen}
B -->|Lokale nieuwer| C[Houden aan lokale versie]
B -->|Remote nieuwer| D[Show conflikten dialoog]
D --> E[Kies versie]
E --> F[Lokale]
E --> G[Remote]
E --> H[Merge handmatig]
B -->|Beide verwijderd| I[Overstappen]
style C fill:#2196F3,color:#fff
style F fill:#2196F3,color:#fff
style G fill:#4CAF50,color:#fff
```
**Gebeide conflikten:**
- `lokale-nieuwer`: Je versie is recenter
- `remote-nieuwer`: De komende versie is nieuwer
- `lokale-verwijderd`: Je hebt deze aantekening lokaal verwijderd
- `remote-verwijderd`: Aantekening is verwijderd op de apparaat van de afzender
- `remote-hersteld`: Eerder verwijderde aantekening is hersteld
## Oplossingen voor problemen
### Veelvoorkomende problemen & oplossingen
#### ❌ "PeerJS bibliotheek niet geladen"
**Oorzaak**: Netwerkblokkering van PeerJS CDN of signaling server
**Oplossingen:**
1. Controleer de internetverbinding
2. Controleer of de firewall WebRTC-verbindingen toelaat
3. Probeer een alternatieve netwerk (mobiele hotspot)
4. Zorg dat de browser WebRTC ondersteunt
#### ❌ "Connectiviteitstijdout"
**Oorzaak**: NAT/firewall belemmert directe verbinding
**Oplossingen:**
1. Beide devices moeten op dezelfde netwerkverbinding staan
2. Schakel VPN tijdelijk uit
3. Controleer routers WebRTC-instellingen
4. Gebruik QR code voor mobiele verbindingen
#### ❌ "Versleuteling mislukt"
**Oorzaak**: Foutief wachtwoord of corrupte overdracht
**Oplossingen:**
1. Controleer of het wachtwoord exact overeenkomt (lettergreepgevoelig)
2. Vraag een nieuwe delenlink aan van de afzender
3. Zorg voor een stabiele verbinding tijdens de overdracht
4. Probeer kleinere batchgroottes
#### ❌ "Synchronisatie in voltooiing" fout
**Oorzaak**: Meerdere synchronisatiepogingen tegelijk
**Oplossingen:**
1. Wacht tot de huidige synchronisatie is voltooid
2. Sluit andere Noterich tabs/windows
3. Verwijder de pagina en probeer opnieuw
4. Verwijder de browsercache als het probleem blijft
### Statusindicatoren van de verbinding
| Status | Betekenis | Actie |
|--------|---------|--------|
| 🔵 Verbinding aan het maken | Verbinding wordt gecreëerd | Wacht 5-10 seconden |
| 🟡 Vergelijking uitvoeren | Analyseren van verschillen in aantekeningen | Normale procedure |
| 🟠 Wacht op gebruiker | Wachtwoord of bevestiging vereist | Kijk naar het dialoogvenster |
| 🟢 Overdracht uitvoeren | Aantekeningen worden in de database geïmporteerd | Verwijder geen tab |
| ✅ Succesvol | Synchronisatie is voltooid | Klaar om te gebruiken |
| 🔴 Fout | Verbinding of overdracht mislukt | Controleer de oplossingen |
## Beveiligingsbest practices
### Je gegevens beschermen
Hoewel P2P-synchronisatie inherent veilig is, volg dan deze richtlijnen:
1. **Gebruik sterke wachtwoorden**
- Minimaal 8 tekens (12+ wordt aanbevolen)
- Mix hoofdletters, kleine letters, cijfers en symbolen
- Gebruik nooit wachtwoorden van andere diensten
2. **Controleer de ontvangers**
- Delen alleen van links met betrouwbare devices
- Gebruik QR codes voor overdrachten op afstand
- Vermijd het delen van links in openbare kanalen
3. **Houd een oog op actieve verbindingen**
- Controleer verbonden peers tijdens synchronisatie
- Verbreed de verbinding na succesvolle overdracht
- Verwijder de delenlink als deze is beveiligd
4. **Regelmatig back-ups maken**
- Exporteer belangrijke aantekeningen regelmatig
- Bewaar back-ups op een veilige plek
- Test de herstelprocedure regelmatig
### Inzicht in beperkingen van versleuteling
**Wat is versleuteld:**
- ✅ Inhoud van de aantekening (tekst, vormgeving, metadata)
- ✅ Bijlagen en ingebedde media
- ✅ Databasestructuur tijdens overdracht
**Wat niet is versleuteld:**
- ⚠️ Verbinding metadata (tijdstippen, grootte van gegevens)
- ⚠️ IP-adressen (zichtbaar voor signaling server)
- ⚠️ Device-identificaties (voor routing van verbindingen)
## Prestatie tips
### Optimeer de synchronisatiesnelheid
1. **Netwerkomstandigheden**
- Dezelfde lokale netwerk = snelste overdrachten
- 5GHz WiFi wordt aanbevolen boven 2.4GHz
- Wired Ethernet voor desktopapparaten
2. **Batchgroottes**
- Grote overdrachten: Verdeel in kleinere batches
- Houd het progressie-indicatie in de gaten
- Stopt en probeer opnieuw als het vertraging heeft
3. **Browserprestaties**
- Houd de Noterich-tab actief tijdens synchronisatie
- Sluit onnodige browsertabs
- Update naar de nieuwste browserversie
4. **Apparatenbronnen**
- Zorg voor voldoende opslagruimte
- Sluit memory-intensieve applicaties
- Herstart de browser als de synchronisatie vertraagt
## Memorybeheer
Noterich implementeert slimme batchverwerking om browsercrash te voorkomen:
```javascript
// Asynchrone batchverwerking met setTimeout
async function asyncBatchProcessor(items, processor, batchSize = 10) {
// Verwerkt items in batches van 10
// Geeft controle over 10ms om de UI responsief te houden
// Voorkomt dat de hoofdthread wordt geblokkeerd tijdens grote importen
}
```
**Aanbevolen:**
- Beperk het aantal overdrachten tot maximaal 100 aantekeningen
- Wacht 30 seconden tussen grote batchoverdrachten
- Verwijder regelmatig de browsercache
## Frequentie
### Q: Kan ik meer dan twee devices synchroniseren?
**A:** Ja! Start aparte P2P-sessies voor elke device-paar. Voor meerdere-device workflows:
1. Synchroniseer Device A → Device B
2. Vervolgens synchroniseer Device B → Device C
3. Of gebruik Device A als centrale hub voor alle andere
### Q: Werkt P2P sync offline?
**A:** P2P vereist een initiale internetverbinding voor het handshake van de signaling server. Na het opzetten van de verbinding:
- ✅ Lokale netwerkoverdrachten werken zonder internet
- ✅ Gegevens worden direct overgedragen tussen devices
- ❌ Eerste verbinding vereist toegang tot signaling server
### Q: Wat gebeurt er als de synchronisatie wordt onderbroken?
**A:** Noterich handelt conflikten elegant:
- Gedeeltelijke overdrachten worden weggestort
- Geen corrupte gegevens worden in de database opgenomen
- Probeer gewoon de synchronisatie te starten opnieuw
- Al geïmporteerde aantekeningen blijven onaangetast
### Q: Kan ik synchroniseren met een andere Noterich-instance?
**A:** Absoluut! P2P-synchronisatie werkt tussen alle Noterich gebruikers:
- Delen van individuele aantekeningen met medewerkers
- Geen accountverbindingsvereisten nodig
- Elke overdracht is onafhankelijk en veilig
- Perfect voor éénmalige aantekeningendeling
### Q: Is er een filegroottebeperking?
**A:** Praktische beperkingen hangen af van:
- Browsermemoriabeschikking
- Netwerkstabiliteit
- Aanbevolen maximum: 50MB per sessie
- Grotere overdrachten: Verdeel in meerdere batches
### Q: Hoe lang blijven de delenlinks geldig?
**A:** Delenlinks zijn per sessie:
- Geldend tijdens het openen van de Noterich-tab
- Verdwijnen wanneer de tab/browser wordt gesloten
- Eénmalige gebruik wordt aanbevolen voor beveiliging
- Genereer een nieuwe link voor elke overdrachtsessie
## Vergelijking: P2P vs Cloud Sync
```mermaid
quadrantChart
title "Synchronisatiemethode Vergelijking"
x-axis "Lager privacy" --> "Hoger privacy"
y-axis "Lager controle" --> "Hoger controle"
quadrant-1 "Noterich P2P"
quadrant-2 "Vermijd"
quadrant-3 "Traditionele Cloud"
quadrant-4 "Gecentraliseerde diensten"
"Noterich P2P": [0.9, 0.9]
"Traditionele Cloud": [0.3, 0.4]
"Gecentraliseerde diensten": [0.4, 0.3]
```
| Feature | Noterich P2P | Cloud Sync |
|---------|--------------|------------|
| **Gegevensopslag** | Je devices alleen | Externere servers |
| **Privacyniveau** | Maximum | Afhankelijk van provider |
| **Kosten** | Gratis | Vaak betaald |
| **Instructiecomplexiteit** | Gemiddeld | Eenvoudig |
| **Snelheid** | Zeer snel (direct) | Gemiddeld (via server) |
| **Offline-toegang** | Volledig | Beperkt |
| **Vingerluik-aanpassing** | Geen | Hoog |
| **Dataleerbaarheid** | Complete | Beperkt |
## Praktische toepassingen
### 📚 Persoonlijke kennisbank
Synchroniseer je PKM (Persoonlijke Kennisbeheer) systeem over:
- Desktop voor diep werk
- Laptop voor sessies in cafés
- Tablet voor lezen en annotaties
- Telefoon voor snelle notities
### 👥 Teamcollaboratie
Delen van onderzoeksnotities veilig binnen teams:
- Geen IT-infrastructuur nodig
- End-to-end versleutelde overdrachten
- Auditverleden via overdrachtslogs
- Voldoen aan privacyregels
### 🎓 Academisch onderzoek
Samenwerken aan artikelen en literatuuroverzichten:
- Delen van geannoteerde PDF’s en notities
- Bewaren van versiehistorie lokaal
- Werken over universiteits/ persoonlijke apparaten
- Beschermen van ongepubliceerde onderzoek
### 🏢 Bedrijfsimplementatie
Implementeer Noterich in bedrijven met gevoelige gegevens:
- Geen gegevens verlopen via het bedrijfsnetwerk
- Werkt achter firewalls met configuratie
- Geïntegreerd met bestaande beveiligingsbeleid
- Verminder afhankelijkheid van clouddiensten
## Technisch inzicht (Voor ontwikkelaars)
### Overzicht van architectuur
```mermaid
graph TB
subgraph Sender["Sender Apparaat"]
A1[Notitiegegevens] --> A2[MessagePack Serialiseren]
A2 --> A3{Versleuteld?}
A3 -->|Ja| A4[AES-256-GCM Versleutelen]
A3 -->|Nee| A5[Alleen binair]
A4 --> A6[Chunk in 512KB]
A5 --> A6
A6 --> A7[WebRTC Data Channel]
end
subgraph Receiver["Ontvangende Apparaat"]
B1[WebRTC Data Channel] --> B2[Reassemble Chunks]
B2 --> B3{Versleuteld?}
B3 -->|Ja| B4[AES-256-GCM Ontcijferen]
B3 -->|Nee| B5[Alleen binair]
B4 --> B6[MessagePack Deserialiseren]
B5 --> B6
B6 --> B7[IndexedDB Opslag]
B7 --> B8[Index herstellen]
end
A7 -.->|Direct P2P| B1
style A4 fill:#FF5722,color:#fff
style B4 fill:#FF5722,color:#fff
style A7 fill:#4CAF50,color:#fff
style B1 fill:#4CAF50,color:#fff
```
Klaar om je workflow te transformeren?
Jouw privé, AI-aangedreven
notitiehub wacht op je
Sluit je aan bij duizenden gebruikers die NoteRich vertrouwen voor privé, krachtig notities maken. Probeer het in je browser — geen installatie, geen creditcard, je notities verlaten nooit je apparaat.
Geen creditcard
Werkt in de browser
100% lokale notities
Bronnen en gidsen
Ontdek onze diepgaande artikelen over lokaal-eerst notities maken, privacy-architectuur en geavanceerde productiviteitsworkflows.
- Zet je notities om in AI-geheugen in NoteRich
- Transformeer tekst naar visuele infographics met NoteRich AI
- NoteRich werkruimten en geavanceerd zoeken tutorial
- NoteRich Rich Text vs Markdown: hoe te schakelen en beide te gebruiken
- NoteRich P2P-synchronisatie tutorial: cross-apparaat zonder cloud
- NoteRich OCR-tutorial: scan papieren notities naar digitale tekst
- NoteRich lokaal-eerst AES-GCM-versleuteling uitgelegd
- NoteRich lokale knowledge base RAG-tutorial
- NoteRich LaTeX wiskundevergelijkingen gids: hoe formules te schrijven
- NoteRich sneltoetsen en productiviteitstips
- NoteRich functies en voordelen voor online notities maken
- Hoe NoteRich Privacy AI te gebruiken om documenten privé samen te vatten
- Hoe Mermaid.js te gebruiken voor stroomdiagrammen in NoteRich – Volledige tutorial
- Hoe video's en bijlagen in te voegen in NoteRich
- Hoe PDF en HTML zonder watermerk te exporteren in NoteRich
- Hoe interactieve ECharts in te sluiten in NoteRich