AES-256-GCM
Authenticated encryption for sensitive crew profile fields at rest
WaterTightVM holds crew personal data, safety records, contracts and compliance evidence, so security is designed in from day one with encryption, authentication, and controlled rank-based permissions. We review it continuously as new modules ship.
Authenticated encryption for sensitive crew profile fields at rest
All web and API traffic encrypted in transit
Passwords hashed with industry-standard bcrypt (12 rounds)
TOTP, email OTP, WebAuthn, and backup codes
Per-module none, read, or write, scoped to rank and vessel
Strict company scoping. No cross-organisation data access
Encryption at rest and in transit, MFA and passkeys, rank-based permissions, tenant isolation and EU hosting. Happy to complete your security questionnaire.
WaterTightVM holds crew personal data, safety records, contracts and compliance evidence, so security is designed in from day one. Every request is authenticated and authorised against role-based permissions, with MFA required for all account roles. Fleet data is isolated per tenant, sensitive fields are encrypted at rest, and edge connections use modern TLS.
WaterTightVM is a full fleet operations platform, not a single database with one login. Each feature area has its own permission key so you can give people exactly the access their rank requires.
The most sensitive information on the platform. Access is tightly gated by rank.
Separate who can report, who can review, and who can configure the safety system.
Official records with separate write and lock permissions.
Technical data and inventory separated from general crew access.
Financial and commercial workflows use approval tiers.
Configuration and messaging powers limited to office and senior ranks.
Maritime software sits at the intersection of personal data, commercial operations, and regulatory evidence. A breach or leak does not just inconvenience IT; it can affect crew welfare, contractual disputes, and port-state inspections. We build WaterTightVM assuming adversarial networks, shared devices on board, and high turnover in crew accounts. Every design decision is weighed against: who can see this, how is it protected, and what happens if a device is lost at sea.
Every dashboard module (more than seventy distinct permission keys, each with read and write levels) is controlled per crew rank at none, read, or write level. A cadet, AB, DPA, and company admin do not see the same platform: each rank’s permission profile defines exactly which menus appear and which API calls succeed. Permissions are enforced on every request, not just hidden in the user interface. Company-wide ranks can access all vessels; team-scoped ranks are limited to assigned vessels when on duty. Off-duty accounts cannot pull vessel data. When someone covers a position, on-duty rank can temporarily elevate permissions. Sensitive actions (approving purchases, closing incidents, locking logbooks, or editing permissions) each require their own explicit grant.
Sensitive crew profile data (names, contact details, dates of birth, addresses, next-of-kin, identity documents, and similar fields) is encrypted before it is written to the database using AES-256-GCM with a unique initialization vector per value. Encryption keys are held outside the application in a dedicated secrets vault and are required in production. Email lookups use one-way SHA-256 hashing so plaintext emails are not stored for indexing.
All access to the WaterTightVM dashboard and API is over HTTPS with modern TLS. Production traffic is terminated at our edge with hardened HTTP security headers including HSTS and frame protection. Certificate and document uploads use signed, time-limited URLs to secure object storage rather than exposing raw file paths.
User passwords are never stored in plaintext; they are hashed with bcrypt at 12 salt rounds. Multi-factor authentication is supported via authenticator apps (TOTP), email one-time codes, WebAuthn passkeys, and one-time backup codes. MFA secrets are encrypted at rest. Companies can require MFA by role so masters, DPAs, and office admins can be held to a higher bar than read-only accounts.
Hosted on Google Cloud in the EU (europe-west1, Belgium): Cloud Run application servers, a managed Cloud SQL PostgreSQL database, and secrets held in Google Secret Manager. Encryption keys and application secrets are never embedded in application code or container images. We minimise attack surface with a single controlled API entry point, staged deployments, and production hardening that avoids leaking internal detail in error responses.
Security is part of every release, not a yearly checkbox. We use dependency scanning, staged deployments before production, separate staging and production environments, and internal validation tooling to catch regressions. If you have specific requirements (MFA enforcement, data residency questions, or security questionnaires for procurement), contact us at hello@watertight.app and we will respond with detail appropriate to your fleet.
We are happy to answer procurement questionnaires, DPA reviews, and technical security enquiries.
Any questions, just get in touch. If you’re not sure we cover something you need, outline the issue and we’ll find a way to solve it.