๐Ÿ”’ Security & Compliance

Your data is safe with us

NotaGRC is built on enterprise-grade infrastructure with security at every layer โ€” from the platform we run on to the email provider we use to reach you.

๐Ÿ—๏ธ

Infrastructure โ€” Railway

railway.com/security โ†—

NotaGRC is hosted exclusively on Railway, a modern cloud platform built on top of Google Cloud Platform (GCP). This means your data benefits from GCP's global security baseline while Railway adds its own hardened deployment layer on top.

SOC 2 Type II
Annual third-party audit covering security, availability, and confidentiality controls.
ISO 27001
Internationally recognised information security management standard.
GDPR Compliant
Data processing agreements available. EU data residency options supported.
Penetration Testing
Regular third-party penetration tests conducted against Railway's platform and APIs.
GCP foundation: Railway runs on Google Cloud, which holds over 40 certifications including FedRAMP, PCI DSS, and HIPAA. You inherit this security baseline without any additional configuration.
  • Encryption in transit: All traffic is served over TLS 1.2+ โ€” enforced by Railway's edge, with HTTPS termination before requests ever reach the app.
  • Encryption at rest: PostgreSQL databases are encrypted at rest using AES-256 by default.
  • Network isolation: Services run in isolated containers with private networking between the app and database โ€” the database is never exposed to the public internet.
  • Automatic backups: Railway PostgreSQL includes automated daily backups with point-in-time recovery.
  • DDoS protection: Cloudflare-backed edge provides DDoS mitigation and rate limiting at the network layer.
๐Ÿ”

Application Security

Beyond the platform, NotaGRC applies security best practices throughout the application itself:

  • Password hashing: All passwords are hashed with bcrypt (cost factor 12) โ€” we never store plain-text passwords and cannot recover them.
  • Session management: Server-side sessions with cryptographically signed, HTTP-only, secure cookies. Sessions expire after 7 days and are invalidated on logout.
  • CSRF protection: Form submissions are scoped to authenticated sessions; sensitive mutations require POST with active session.
  • Secure headers: trust proxy is configured to respect Railway's reverse proxy, ensuring cookies are correctly marked Secure in production.
  • Input validation: All user input is validated server-side before any database operation. Prisma's parameterised queries prevent SQL injection by design.
  • Role-based access control: Admin and member roles are enforced at the middleware layer โ€” members cannot access billing, user management, or organisation settings.
  • Password reset tokens: One-time use tokens generated with crypto.randomBytes(32), expire after 1 hour, and are invalidated immediately on use.
๐Ÿข

Data Separation & Multi-Tenancy

NotaGRC uses organisation-level data isolation. Every piece of data โ€” risks, vendors, BAU activities, BIA records, users โ€” belongs to a single organisation and is always queried with an orgId filter.

How it works: When you register, a unique Organisation record is created. Every subsequent query is scoped to your organisation's ID, which is stored in your encrypted session. There is no route or API endpoint in the application that can return data across organisation boundaries.
  • Logical isolation: All tenants share the same database instance, but every row is owned by an organisation. Prisma's query layer enforces this at the ORM level.
  • Session scoping: Your orgId is set at login from the database โ€” it cannot be overridden by user input.
  • No cross-tenant APIs: There are no administrative APIs that expose bulk data across organisations. Internal admin access requires direct database access, which is logged and audited by Railway.
  • User management: Only admins within an organisation can add or remove users. Users cannot move between organisations.
โœ‰๏ธ

Email Notifications โ€” Resend

resend.com/security โ†—

NotaGRC uses Resend to deliver email notifications (password resets and risk review alerts). Resend is a developer-focused email infrastructure provider with a strong security posture:

Resend SOC 2

SOC 2 Type II certified. Infrastructure hosted on AWS with encryption at rest and in transit.

View Resend security page โ†—
Minimal data exposure

We only transmit your name and email address to Resend โ€” never your risk data, passwords, or organisation content.

  • What we send to Resend: Recipient email address, recipient name, email subject and body (which may include risk titles and dates for digest emails).
  • What we never send: Passwords, session tokens, full risk descriptions, financial data, or any other sensitive record content.
  • TLS enforced: All communication between NotaGRC and Resend's API is over HTTPS/TLS 1.2+.
  • Opt-out available: Email notifications are opt-in per user. You can disable them at any time in Settings โ†’ Notifications.
๐Ÿ’ณ

Payments โ€” Stripe

stripe.com/security โ†—

All payment processing is handled by Stripe, a PCI DSS Level 1 certified payment processor. NotaGRC never touches, stores, or transmits your card details.

  • PCI DSS Level 1: The highest level of payment card industry compliance. Stripe undergoes annual audits by a qualified security assessor.
  • No card data on our servers: When you subscribe, you are redirected to a Stripe-hosted checkout page. Card numbers never pass through NotaGRC's servers.
  • Webhook verification: All incoming Stripe webhook events are verified using HMAC-SHA256 signature validation โ€” we reject any event that cannot be cryptographically verified as originating from Stripe.
  • Stored identifiers only: We store only your Stripe Customer ID and subscription status โ€” not card details, CVVs, or billing addresses.
Last reviewed: June 2025  ยท  Back to NotaGRC