diff --git a/README.md b/README.md
index bc935f8..d8ca791 100644
--- a/README.md
+++ b/README.md
@@ -8,6 +8,12 @@
VacatureRadar is een persoonlijke vacature-assistent voor België. De applicatie volgt toegestane werkgeversbronnen, ATS-pagina’s, feeds en vacaturemails, verwijdert dubbels en irrelevante resultaten en rangschikt de overblijvende kansen tegen jouw zoekprofiel. Jij behoudt altijd de controle: VacatureRadar helpt zoeken en opvolgen, maar solliciteert nooit automatisch.
+**Actuele release: 0.3.15.** De volledige P0/P1-releasebasis is afgerond en live
+gevalideerd: 324 tests zijn groen, Microsoft 365 verwerkt platformmails via
+app-only OAuth/XOAUTH2 en de productie-installatie draait vanaf een immutable
+image in de private Gitea-containerregistry. Het controleerbare acceptatiebewijs
+staat in [Finale acceptance](docs/audit/FINAL_ACCEPTANCE.md).
+

## Voor wie is dit?
@@ -37,12 +43,15 @@ VacatureRadar is bedoeld voor één persoon of een eigen, afgeschermde installat
| Vacatureverkenner | Zoeken en filteren met een uitlegbare detailanalyse naast de resultaten |
| Skillsradar | Actuele marktvraag naast de skills uit je eigen profiel |
| Sollicitatiepipeline | Dossiers, status, notities, deadlines en een auditbare tijdlijn |
-| Bronnenbeheer | Veilige bronconfiguratie, gezondheid, handmatige import en mailboxkoppelingen |
+| Bronnenbeheer | Veilige bronconfiguratie, gezondheid, handmatige import en afzonderlijke mailboxkoppelingen voor negen jobplatformen |
| Automatisering | Eerlijke 24-uursmetingen; niet-gemeten informatie blijft expliciet onbekend |
## Bekijk de volledige productflow
-De beelden komen uit de lokale demo-omgeving. De getoonde cijfers zijn omgevingsdata, geen marketingclaims. Klik op een beeld voor de volledige resolutie.
+De beelden komen uit een gesaneerde lokale demo-omgeving. De getoonde aantallen
+zijn een momentopname van die demo en bewijzen geen productie-status; daarvoor
+geldt uitsluitend de gedateerde [finale acceptance](docs/audit/FINAL_ACCEPTANCE.md).
+Klik op een beeld voor de volledige resolutie.
### 1. Vind de relevante kansen
@@ -78,7 +87,7 @@ Een analyse maakt score, datakwaliteit, beslissignalen, aandachtspunten en broni
Sollicitatiepipeline Bewaar status, deadlines, notities en tijdlijn per dossier; de uiteindelijke sollicitatie blijft altijd handmatig. |
- Bronnenbeheer Zie policyreview, laatste scans, volgende runs en brongezondheid zonder technische logs te moeten doorzoeken. |
+ Bronnenbeheer Zie policyreview, laatste scans, volgende runs, brongezondheid en de status van iedere platformmailbox zonder technische logs te moeten doorzoeken. |
 |
@@ -141,7 +150,7 @@ Na de eerste login:
1. Open **Zoekprofiel** en stel regio, radius, rollen, skills en werkvoorkeuren in.
2. Open **Bronnen** en activeer alleen bronnen waarvan beleid en voorwaarden beoordeeld zijn.
-3. Configureer optioneel een eigen vacaturemailbox; credentials worden niet in de repository opgeslagen.
+3. Koppel optioneel afzonderlijke vacaturemailboxen voor VDAB, Indeed, LinkedIn, ictjob.be, Jobat, StepStone, Careerjet, Randstad en Robert Half. Credentials worden niet in de repository opgeslagen.
4. Controleer **Automatisering** voordat je op onbemande verwerking vertrouwt.
5. Verifieer in productie altijd HTTPS, back-ups, herstel en healthchecks.
@@ -158,6 +167,12 @@ De publieke URL wordt vervolgens gebruikt voor `ALLOWED_HOSTS`, CSRF, secure coo
Publiceer poort `1226` niet rechtstreeks op internet. Gebruik een beheerde reverse proxy met TLS en volg [Unraid-deployment](docs/operations/UNRAID_DEPLOYMENT.md) en de concrete [Nginx Proxy Manager-handleiding](docs/operations/NGINX_PROXY_MANAGER.md). Een volledig productievoorbeeld staat in [`deployment/production.env.example`](deployment/production.env.example).
+Voor Microsoft 365 gebruikt VacatureRadar uitsluitend app-only OAuth/XOAUTH2
+voor IMAP en SMTP; Basic Auth en Microsoft 365-app-wachtwoorden worden niet
+ondersteund. Beperk de Entra-serviceprincipal tot de bedoelde mailbox en geef
+alleen `IMAP.AccessAsApp` en `SMTP.SendAsApp`. De exacte configuratie- en
+rotatiestappen staan in het [operationele runbook](docs/operations/RUNBOOK.md).
+
## Eerlijke grenzen
VacatureRadar:
@@ -193,6 +208,11 @@ Die controleert formatting, lint, Django-configuratie, migraties, de volledige t
## Beheer en deployment
+Productiereleases worden door Gitea Actions gebouwd, gescand en als private
+containerimage gepubliceerd. Pin Unraid op `versie@sha256:digest`, bewaar de
+vorige digest voor rollback en gebruik nooit alleen een veranderlijke tag als
+productiereferentie.
+
- [Lokaal ontwikkelen](docs/operations/LOCAL_DEVELOPMENT.md)
- [Docker en Unraid uitrollen](docs/operations/UNRAID_DEPLOYMENT.md)
- [Nginx Proxy Manager configureren](docs/operations/NGINX_PROXY_MANAGER.md)
diff --git a/docs/ai/PROJECT_STATE.md b/docs/ai/PROJECT_STATE.md
index b9e131c..0c8c2ef 100644
--- a/docs/ai/PROJECT_STATE.md
+++ b/docs/ai/PROJECT_STATE.md
@@ -19,6 +19,21 @@ De repository bevat een uitvoerbare Django-MVP met:
- Celeryworker/scheduler, healthchecks, Docker/Unraidconfiguratie en back-up-/herstelscripts;
- offline unit-, integratie- en securitytests.
+## Laatste documentatie-update
+
+README-update op 2026-07-30:
+
+- de repository-ingang benoemt release 0.3.15, de groene 324-testgate, de live
+ M365 app-only OAuth/XOAUTH2-flow en de immutable private Gitea-registryrelease;
+- eerste configuratie noemt alle negen ondersteunde jobplatformen en verwijst
+ expliciet naar het M365 least-privilege- en rotatiepad in het runbook;
+- de bestaande negen screenshots zijn visueel herbeoordeeld. De layout is nog
+ actueel; de bronafbeelding toont bewust een gesaneerde demo zonder actieve
+ ingress en is daarom als demo-momentopname verduidelijkt, niet vervangen door
+ een productiebeeld met accountgegevens;
+- eindverificatie: volledige gate groen met 324 tests, 0 failures, 0 skips en
+ 84,07% branch-aware dekking.
+
## Laatste productiehardening
Productieoplevering 0.3.14 op 2026-07-29: