Deploy in AWS GovCloud
Prepare an AWS GovCloud account with no internet egress, a customer-managed key, write-once storage for originals and PostgreSQL 16. Then install the signed release and confirm each panel on Hosting.
On this page6
Foxborne deploys into your own AWS GovCloud account. Originals stay in your buckets under your key, and the deployment sends nothing outside your network. This page shows the example deployment from the console's Hosting page, what to prepare for the same layout and how to confirm it.
The same layout applies in a commercial AWS region, since Foxborne deploys into your AWS, AWS GovCloud or Azure Government account. In a commercial region, ARNs start with arn:aws: rather than arn:aws-us-gov:.
The example deployment#
The console's example dataset describes one deployment in AWS GovCloud (US-West), region us-gov-west-1. Its Hosting page draws each part inside a dashed line labeled with the account and region.
| Part | Example value | What it does |
|---|---|---|
| Foxborne application | 2 nodes, m7i.xlarge | Serves the console on your network only |
| Workers | 2 nodes, c7i.2xlarge | Parse, align and run rules |
| Inference node | 1 node, g4dn.2xlarge, one GPU | Runs the AI models. Optional |
| PostgreSQL 16 | Multi-AZ, in the VPC | Holds events, notes, reports and the audit log |
| Original files | s3://hfr-foxborne-originals | SSE-KMS with the customer key. Object Lock, compliance mode, 7 years. |
| Reports and case files | s3://hfr-foxborne-exports | SSE-KMS with the customer key. Kept 10 years. |
| Basemaps and elevation | s3://hfr-foxborne-basemaps | SSE-KMS with the customer key. Kept until replaced. |
| Customer-managed key | alias/foxborne-evidence | AWS KMS, rotated yearly and automatically |
| Backups | AWS Backup vault hfr-foxborne | Customer key. Daily, kept 35 days. |
| Network | No outbound internet | Egress is denied at the VPC |
| Identity and audit | Your IdP and SIEM | SAML assertions in. Audit events out over syslog with TLS. |
Example values
These values come from the example dataset. The instance types, bucket names, retention periods and backup schedule describe one deployment, not sizing guidance or requirements.
Before you start#
- You need the Admin role in Foxborne to open Hosting. Admins manage hosting, keys and access.
- You need an AWS GovCloud account where you can create a VPC, KMS keys, S3 buckets, a PostgreSQL database and a backup vault.
- Your identity provider signs users in over SAML 2.0, and your SIEM accepts syslog over TLS inside your network.
- You have the signed release bundle, a
.fxbfile, for the version you install.
Prepare the account#
Build a VPC with no path out
Create the VPC without an internet gateway or a NAT gateway, so no route leads to the internet. Reach Amazon S3 through a gateway VPC endpoint, which keeps that traffic inside AWS. Workers that assume an IAM role to read a source bucket also need AWS STS, through an interface VPC endpoint.
Keep the console private as well. Engineers reach it from your corporate network or VPN, over a private connection such as AWS Site-to-Site VPN or AWS Direct Connect. In the example, the status bar tooltip reads No outbound internet. Egress is denied at the VPC.
Create the customer-managed key
In AWS KMS, create a symmetric customer-managed key in the deployment's region and turn on automatic rotation. The example key is
alias/foxborne-evidenceand rotates yearly. Rotation keeps the key ID and every earlier version of the key material, so objects encrypted before a rotation stay readable.The key controls the evidence
Disabling this key makes every stored original unreadable, to Foxborne as much as to anyone. Reports, case files and backups encrypted with it become unreadable too.
Create the three buckets
Create the originals bucket with S3 Object Lock turned on, which also turns on versioning. Set its default retention to compliance mode. No user, including the root user, can then overwrite or delete a locked version before its retention ends.
Create the exports and basemaps buckets, then set default encryption on all three to SSE-KMS with the customer key. In the example, originals are locked for 7 years. Reports and case files are kept for 10.
Create the database
Run PostgreSQL 16 inside the VPC, with its storage encrypted with the customer key. The example runs it Multi-AZ. On Amazon RDS, encryption is fixed when the instance is created, so choose the customer key then.
Set up backups
Keep backups in a vault encrypted with the customer key. The example uses an AWS Backup vault named
hfr-foxborne, with a plan that backs up daily and keeps each backup 35 days. Set the schedule and retention your program requires.Connect identity and audit
Foxborne signs users in through your identity provider over SAML 2.0 and provisions them over SCIM. Evidence marked export-controlled opens only for users whose identity provider asserts US person status, in the
usPersonSAML attribute. The audit log streams to your SIEM over syslog with TLS, inside your network.Single sign-on and SCIM provisioning cover the settings on the Foxborne side.
Install the signed release
Each Foxborne release is one signed bundle, a
.fxbfile, with a software bill of materials. Foxborne checks the bundle's signature against the Foxborne release key before anything installs, and a bundle that does not match installs nothing.
Check the result#
Sign in through your identity provider and open Hosting. Compare each panel with the example below, with your own values in place of the example's.
| Panel | Field | Example value |
|---|---|---|
| Summary | Mode | Self-hosted |
| Summary | Environment | AWS GovCloud (US-West) |
| Summary | Version | 1.4.2, with Signature verified |
| Summary | Network | No outbound internet |
| Summary | License | 8 of 40 seats, renews 30 Jun 2027 |
| Data boundary | Dashed line | Your AWS GovCloud (US-West) account, its ID and us-gov-west-1 |
| Data boundary | Inside the line | Foxborne application, workers, PostgreSQL 16, original files, customer-managed key, your IdP and SIEM |
| Data boundary | Outside the line | Foxborne, Inc. receives nothing |
| Where each kind of data lives | Six rows | One row per store, from original files to backups, each with location, encryption and retention |
| Encryption key | Key | alias/foxborne-evidence |
| Encryption key | ARN | The key's ARN, starting arn:aws-us-gov:kms:us-gov-west-1: |
| Encryption key | Custody | AWS KMS, FIPS 140-3 validated HSMs |
| Encryption key | Rotation | Yearly, automatic, last on 30 Jun 2026 |
| Updates | Installed | 1.4.2, 12 Sep 2026 |
| Updates | Signed by | Foxborne release key 7C1E 4B90 3A2F 9A42 |
| Updates | Bill of materials | SPDX 2.3, 412 components, stored with the release |
| Nodes | Four rows | Application 2 m7i.xlarge, workers 2 c7i.2xlarge, database 1 PostgreSQL 16 Multi-AZ, inference 1 g4dn.2xlarge, each Healthy |
| Nodes | Footer | Last backup 7 h ago. Restore tested on 12 Sep 2026. |
| Outbound connections | Five rows | Foxborne, Inc. None, map and tile services None, AI model providers None, identity provider Inbound, your SIEM Internal |
The Custody line names the service that holds the key. Its FIPS 140-3 validation belongs to the AWS KMS hardware security modules, not to Foxborne.
The status bar repeats the environment, No outbound internet and the version on every screen. The Encryption key panel also carries the note Disabling this key makes every stored original unreadable, to Foxborne as much as to anyone.
Troubleshoot#
Compliance mode cannot be undone. Once a version is locked in compliance mode, nobody can shorten its retention or delete it before the period ends. Settle the retention period before the first original arrives.
The key is disabled or scheduled for deletion. Stored originals and exports stay unreadable until the key is back in service. A disabled key can be enabled again. AWS KMS waits 7 to 30 days before deleting a key, and you can cancel the deletion inside that window.
The console is not reachable from outside your network. That is the intended layout: the application serves the console on your network only. Connect over the VPN or from a network listed under Access, Sign-in, Sessions.
Collectors cannot connect. Each vehicle opens an outbound HTTPS connection to the deployment's address while it is on the ground. Give that address a route from the network the vehicles use, as in Install and enroll the collector.
Next#
- Install an update when the next signed bundle arrives.
- Monitor a deployment reads the same Hosting panels day to day.
- Backups and recovery covers the vault and the checks after a restore.
- Amazon S3 and S3-compatible storage connects the bucket where flight logs already land.