Architecture & security
What is delivered, as it is built.
VitaFlow's architecture, security, operations and quality, described from the delivered code.
01
Architecture
- APIPython 3.12, FastAPI, SQLAlchemy 2, versioned Alembic migrations; PostgreSQL 16 database.
- InterfaceReact 19 and Vite, served by nginx; installable app whose service worker caches the interface only, never data.
- Analytics engineR 4.5 (plumber, fable) with a restricted PostgreSQL account: reads data, writes only its own result tables.
- SchedulerDedicated service for nightly analyses and e-mails: critical alerts, daily digest, monthly PDF report.
- DeploymentDocker Compose (database, API, R engine, scheduler, interface) behind an HTTPS reverse proxy.
02
Management principles
- Computed stockStock is never typed in: it results from movements (receipt, issue, transfer, adjustment, count, destruction…).
- Segregation of dutiesA purchase order is approved by someone other than its author; narcotic adjustments require a witness.
- ReferencesContinuous numbering per document type; every business action is written to the audit log.
03
Security
- Authenticationargon2 passwords, lockout after 5 failures, rate limiting, short access token and rotating refresh token, reuse detected.
- Authorisation9 roles; every API route declares its permission, checked by an automated test; strict isolation per establishment.
- AuditLog chained with SHA-256, verifiable from administration.
- Patient dataHospital identifier, last name, first name, optional date of birth; reading restricted to pharmacists and quality; every access logged.
- HeadersStrict content policy with no external resources; secrets supplied by the environment, refused in production when too short.
04
Operations
- BackupScripted and tested backup and restore; upgrades through versioned database migrations.
- E-mailNotifications through the establishment's SMTP server.
- DocumentationUser guide in three languages, real screenshots, opened from the application.
05
Software quality
- API139 tests run on a real PostgreSQL, including a security matrix covering every route.
- Journeys37 end-to-end journeys in the browser, on an isolated test stack, including the installable app on the production build.
- ChecksR engine tests; automated checks of translations and guide labels.
06
What VitaFlow does not do
Current limits, stated plainly before any demonstration.
- Offline entryWithout network, no operation is saved or queued.
- Patient recordNo automatic HL7 or FHIR interface with the patient record or hospital administration: exchanges go through Excel import and exports.
- CertificationNo certification (ISO, CE marking) is claimed.
See VitaFlow with your data
Guided demonstration, migration of your data by Excel import, installation on your infrastructure.