TECHNOLOGIES: RAILWAY

Railway Deployment Security Review

A Railway project becomes reachable from the internet the moment someone opens a public domain or a TCP proxy. We test the roles, secrets and exposure your team actually configured. CREST-certified testers, fixed price from £2,320 for a 2-day single-project scope, quoted within 24 hours.

  • Unlimited retesting
  • Unlimited pre-retesting
  • No hidden fees
Accredited & recognised
Cyber Essentials certified Cyber Essentials Plus certified IASME certifying body ISO 27001 certified ISO 9001 certified Crown Commercial Service supplier UK Cyber Security Council member
CREST
Approved Provider
10
Railway Test Areas
FREE
Retest Until Closed
24h
Scope to Active Test
CLIENT REFERENCE
“I would highly recommend EJN Labs to any organisation seeking reliable, detailed, and well-managed penetration testing services, particularly for government or enterprise-level projects.”
SquareOneImran SaghirProject Lead, SquareOneRead the SquareOne case study →
CLIENT REFERENCE
“There wasn’t another company we could find that could deliver what we needed in the timeframe we needed. The client loved it, and we got instant ROI from the engagement.”
CelloriDan WilcocksonFounder, CelloriRead the Cellori case study →
See all case studies →
WHY IT MATTERS
3

Railway issues three kinds of API token, account, workspace and project, and each one reaches a different slice of your resources.

A Railway project is only as secure as the access, secrets and networking your team configured

Railway workspace members hold one of three roles, Admin, Member or Deployer, and the difference is granular: a Deployer can view every project and trigger a deployment through a connected GitHub commit but cannot create, modify or delete a variable, a service or a volume, view logs, or create a new project, while only an Admin can add or remove members, change a role, or reach billing and audit logs. A workspace can also be configured with a Trusted Domain, so anyone who signs up with a matching email address is added automatically at whichever role the workspace set as the default, a convenience that is only as safe as the domain and default role chosen.

Variables can be shared across every service in a project, pulled between services with Railway’s ${{ }} reference syntax, or sealed so the value is used at build and deploy time but never shown again in the dashboard or returned by the API, though a sealed variable is then excluded when a PR environment, a duplicated environment or a duplicated service is created. Networking works on the same opt-in basis: services reach each other privately over an internal SERVICE_NAME.railway.internal address until someone generates a public domain or opens a TCP Proxy, at which point a database or any other TCP service becomes reachable from the internet on a generated host and port.

We test the workspace and project you actually run: the roles and trusted domains configured, the shared, reference and sealed variables in use, which services carry a public domain or a TCP proxy, and how production and PR environments are set up. We never test Railway’s own infrastructure, in the same way we test client configuration on Heroku apps rather than Heroku’s platform.

SCOPE

What we review on a Railway project

RW-01

Workspace Roles and Project Access

Railway workspace members hold one of three roles, Admin, Member or Deployer, and the difference is specific: a Deployer can view every project and deploy through a connected GitHub commit but cannot create, modify or delete a variable, a service or a volume, view logs, or create a new project, while only an Admin can add or remove members, change a role, or reach billing and audit logs. We test how many accounts hold Admin, whether a Member or Deployer account can reach further than that matrix allows, and which projects each role can actually see.

RW-02

Trusted Domain Auto-Onboarding

A workspace can be configured with a Trusted Domain, so a new user who signs up with an email address matching that domain is added to the workspace automatically at whichever role was set as the default, without an existing member sending an invite. We test which domains are configured as trusted, what default role they assign, and whether a domain wide enough to include contractors or a personal alias has ever been verified.

RW-03

Shared and Reference Variables

A shared variable defined once in Project Settings can be pulled into any service in the project, and a reference variable built with Railway’s ${{ }} syntax can pull a value from another service, from a shared variable, or from elsewhere in the same service, so one exposed variable name can chain further than the service it was set on. We test which services actually consume a shared or reference variable, and whether that chain hands a service credentials or values it does not need.

RW-04

Sealed Variables

Sealing a variable means its value is still provided to builds and deployments but is never shown again in the dashboard or returned by the API, cannot be unsealed, and is not copied when a PR environment, a duplicated environment or a duplicated service is created. We test which secrets are sealed against which are still stored in plain view, and whether an unsealed API key, database password or webhook secret is visible to anyone with read access to the project.

RW-05

Public Domains and Exposed Services

A service stays off the public internet until someone generates a Railway-provided domain or adds a custom domain from its Networking settings, at which point Railway issues an automatic SSL certificate and routes traffic through its edge network. We test which services actually carry a public domain, whether an internal-only tool, admin panel or staging service was ever given one by mistake, and what that domain exposes once it is reachable.

RW-06

Private Networking Between Services

Services in the same project and environment can reach each other over an internal SERVICE_NAME.railway.internal address without exposing a port publicly, so an API, a worker and a cache can talk to one another entirely off the public internet. We test whether a service that should only be reachable privately still carries a public domain or a TCP proxy, and what a compromised service on the private network could actually reach from there.

RW-07

TCP Proxy: Databases Exposed to the Internet

TCP Proxy exposes a non-HTTP service, most commonly a database, to the internet on a Railway-generated domain and port such as shuttle.proxy.rlwy.net:15140, and it can be paired with a custom domain or run alongside private networking for the same service. We test which databases have a TCP proxy enabled against which genuinely need external access, and whether the credentials guarding that proxy would withstand a direct connection attempt from the internet.

RW-08

Environments: Production, Staging and PR Previews

Railway excludes sealed variables when creating a PR environment or duplicating an environment, so every variable that was not sealed carries across, and a PR environment is otherwise temporary, spun up automatically when a Pull Request opens and deleted once it is merged or closed. We test what a PR or staging environment actually inherited from production, and whether Environment RBAC, where available, genuinely stops a non-admin member from reaching production configuration.

RW-09

API Tokens: Account, Workspace and Project Scope

Railway issues three kinds of API token, an account token tied to one person’s login and reaching every workspace and resource they can access, a workspace token scoped to a single workspace and shareable with teammates for CI, and a project token scoped to one environment within a project and authenticated with a separate Project-Access-Token header. We test which token type is used where, whether an account token was issued for a job a project token would do, and whether any live token is still valid after the person or pipeline that needed it moved on.

RW-10

GitHub Deploy Triggers and Wait for CI

A service linked to a GitHub repository deploys automatically on every push to its configured branch, provided at least one project member has a connected GitHub account with contributor access to that repository, and Wait for CI can hold a deployment until every GitHub Actions check suite on the commit finishes rather than shipping the moment code lands. We test whether Wait for CI is enabled where a workflow should gate production, and whose GitHub access is actually driving deployments into each environment.

OUR PROCESS

Railway Deployment Security Review: From Scope to Attestation

01

Scope and Access

We agree which Railway workspace, project, environments and services are in scope, plus a login for each workspace role you use.

02

Configuration and Role Mapping

We map every workspace role, trusted domain and API token against what it actually grants, alongside your current variables, domains and TCP proxy configuration.

03

Manual Testing

A CREST-certified tester manually tests exposed services, sealed and shared variables, private networking boundaries and environment separation, chaining findings where they compound.

04

Attestation and Retest

You get a technical report with CVSS scores and reproduction steps, a walkthrough call, a free retest once fixes are deployed, and an attestation letter for auditors.

CREDENTIALS

Verified Accreditations Auditors Accept

Every credential below is independently verifiable. UK procurement teams, FCA supervisors, ISO 27001 / SOC 2 auditors, and cyber insurance underwriters all recognise these standards.

GET YOUR QUOTE

Get a CREST Railway pen test quote in 24 hours

A fixed-price quote back in one business day, from a named CREST assessor. No sales pipeline, no chasing.

  • CREST and IASME accredited. Testing your auditors and clients already recognise.
  • Fast-track testing within 24 hours where required. Free retest of every fix included.
  • Live findings via your client portal, not a four-week PDF.
  • Fixed price from £3,500 for a single-role, single-app scope, agreed up front. Most engagements run £5,000 and up. No day-rate surprises.
What clients say
There wasn’t another company we could find that could deliver what we needed in the timeframe we needed. The client loved it, and we got instant ROI from the engagement.
CelloriDan WilcocksonFounder, Cellori

Under NDA Further named references available on a scoping call.

What happens next
  1. We reply within one business day with a fixed-price quote from a named CREST assessor.
  2. You approve the scope and we book a start date, usually within 24 hours.
  3. Live findings land in your client portal as we test, with a free retest of every fix.
Accredited & recognised
CREST member Cyber Essentials certified Cyber Essentials Plus certified IASME certifying body ISO 27001 certified ISO 9001 certified UK Cyber Security Council Crown Commercial Service supplier

Get your fixed pen test quote in 24 hours

⚡24h reply ✓CREST tester ↻Free retests

or book a 20-min scoping call first

We reply within one business day. Your data stays with us. No newsletter signup.

COMPLIANCE READY

Reports Mapped to Every Framework

Findings are written so your team can reference the report against each framework without translation work.

ISO 27001:2022

Annex A.8.8 management of technical vulnerabilities plus A.5.15-5.18 and A.8.2-8.5 access control validation.

SOC 2 Type I & II

CC6 logical access, CC7 system operations, CC8 change management evidence.

PCI DSS

Requirement 11.4 application penetration testing across cardholder data environments, including ecommerce penetration testing for online retail platforms.

FCA SYSC

SYSC 4.1.1R, 6.1.1R, 13 mapped to each finding for FCA-regulated firms.

UK GDPR

Article 32 effectiveness testing, customer-data security controls, ICO-acceptable evidence.

Cyber Essentials Plus

Direct certification through our IASME body status, single-vendor delivery.

PRICING

Transparent Railway Deployment Security Review Pricing

Pricing depends on the number of roles, integrations and environments in scope. See our pricing page for how we quote.

✦ ALWAYS · ON EVERY TIER · NO EXCEPTIONS ✦
✓Free retests, no time limit
✓Free rescheduling
✓No cancellation fees
✓24-hour scope to active testing
✓Live findings to client portal
✓Executive + technical report
✓60-min walkthrough call
✓Letter of attestation
SMALL / SMB
£2,320–£3,410
2 to 3 testing days

Single user role, basic CRUD application, marketing website with auth. Around 5 working days from kickoff to report.

Get a fixed quote
ENTERPRISE
£5,450–£8,310
4 to 6 testing days

Multi-tenant platform, complex authorisation matrix, integration-heavy applications. Around 15 to 20 working days from kickoff to report.

Get a fixed quote

Full UK pen test cost guide

WHY EJN LABS

What You Get From Railway Deployment Security Review

Six concrete differentiators competitors don’t all match.

CREST-Certified Testers, Verifiable

Every test by a CREST-certified pen tester (CRT, CCT APP, CCT INF where applicable). Verify our company status at crest-approved.org.

24-Hour Startup, Where Required

From signed scope to active testing in a single business day for incident response, audit deadlines, or regulator-driven timelines.

Live Findings, Not 4-Week PDFs

Critical issues reported during testing through your client portal. Your team remediates while testing continues.

Audit-Ready Reports

Executive summary plus full technical report with CVSS scores and explicit framework mappings (ISO 27001, SOC 2, PCI DSS, FCA SYSC).

Free Retests, Standard

Verify remediation of every finding before close-out. Letter of attestation for audit submission included. Most competitors charge £1,500-£3,000 per retest.

UK-Based CREST Testers

Every engagement performed by vetted, UK-based CREST-certified testers, matched to your needs, security clearance, and compliance scope.

FAQ

Frequently Asked

What access do you need to test our Railway project?

We need a login for each workspace role in use, ideally an Admin or Member account rather than a Deployer, plus read access to your current variables, domains, TCP proxies and environments. A project token scoped to an environment speeds up several checks but is not required to start.

Will testing touch our live data?

Testing focuses on workspace roles, variables, domains, TCP proxy and environment configuration, rather than the content of your databases. Where proving a finding needs a test record, we agree the exact scope with you first and remove anything we create once testing is complete.

Is this hosted on our infrastructure or Railway’s?

Your services, databases and volumes all run on Railway’s infrastructure, so there is nothing separate for you to host. The review is scoped to the project configuration you control, roles, variables, networking and environments, not to Railway’s own platform.

How long does a Railway security review take?

A single project with a typical number of services and one or two databases sits in our 2-day single-project scope, with a report usually landing around 5 working days after kickoff. A project running several environments, multiple databases with TCP proxies enabled, or a large number of services extends that scope.

What is out of scope for a single-project review?

Testing Railway’s own infrastructure or shared platform is never in scope, and we do not run denial-of-service testing against any Railway service. The application code running inside your services is scoped and quoted separately from the project and configuration review.

Does Railway have a customer penetration-testing policy we need to follow?

Railway’s published Terms of Service and Acceptable Use Policy do not set out a dedicated penetration-testing notification process or rules of engagement in the way some other providers do; the Acceptable Use Policy prohibits gaining unauthorised access to systems or data you do not control. We confirm Railway’s current terms and any account-specific conditions during scoping before testing begins.

Do you need our source code or admin access?

No. We test with the workspace role accounts and access you provide, and we do not need standing Admin access beyond what is needed to verify a specific finding during the engagement. Source code for anything you deploy is only needed if you commission the application itself as a separate assessment.

Are your testers CREST certified?

Yes. Every Railway engagement is carried out by UK-based, CREST-certified testers, and your report and attestation letter are recognised by auditors and insurers accordingly.

EXPLORE EVERY SERVICE

20+ CREST-accredited testing services in one place

Web, mobile, API, cloud, AI, infrastructure, red team. Pick the test that fits your environment.

Penetration testing services
READY TO START

Get a fixed price for your Railway project

A Railway project becomes reachable from the internet the moment someone opens a public domain or a TCP proxy. We test the roles, secrets and exposure your team actually configured. CREST-certified testers, fixed price from £2,320 for a 2-day single-project scope, quoted within 24 hours.