Your VPC. Your Data.
No Exceptions.

Camphor runs entirely inside your AWS account. No traffic leaves your network, no telemetry phones home, no third-party agents on your instances.

🏗 Architectural Trust Guarantees

Every security property is enforced by AWS infrastructure you already own -- not by trusting Camphor.

🏠

Runs in Your VPC

The gateway is an EC2 instance running inside your AWS account and VPC. All traffic flows through your network. Camphor has zero infrastructure in the data path. Your packets never touch a Camphor-operated server.

🔓

No Callbacks Home

Zero telemetry. No usage data, diagnostics, or analytics are sent to Camphor. License validation is offline -- enforced by the AMI itself, not by a licensing server. No outbound connections are required beyond your normal internet traffic.

💾

Config in Your SSM

All gateway configuration is stored in AWS Systems Manager Parameter Store in your account under the /camphor/ path. You own it, you control it, you can read and modify it with the standard AWS CLI at any time. Camphor has no access to your SSM.

📊

Logs in Your CloudWatch

All metrics, firewall alerts, API audit logs, and NAT flow logs are written to CloudWatch in your account. Camphor cannot access your CloudWatch data. You retain, export, or delete logs under your own retention policies.

🔐 Least-Privilege Instance Profile

The gateway EC2 instance uses an IAM role scoped to its specific stack resources by tag and ARN. No wildcard resource permissions.

The CloudFormation stack creates a purpose-built IAM instance profile during deployment. Every permission is tightly scoped: EC2 actions are gated by resource tag matching your stack name, Route53 actions are gated by the hosted zone ARN, and SSM access is restricted to the /camphor/ parameter path.

Cross-account transit access -- when enabled -- uses a separate IAM role with a trust policy explicitly listing the hub account ID. No implicit trust, no wildcards.

Fully auditable: The complete IAM policy ships verbatim inside the open CloudFormation template. Review every statement with cfn-lint, AWS IAM Access Analyzer, or your own tooling before you deploy. No hidden policies applied post-deployment.
  • EC2 describe + modify network interfaces and Elastic IPs -- scoped to resources tagged with your stack name
  • Route53 ChangeResourceRecordSets -- scoped to your hosted zone ARN only
  • SSM GetParameter / PutParameter -- scoped to /camphor/* path prefix
  • CloudWatch PutMetricData -- no resource restriction (required by AWS)
  • EC2 DescribeInstances, DescribeRegions -- read-only fleet awareness
  • ACM ExportCertificate -- scoped to the stack certificate ARN
  • STS AssumeRole for cross-account transit -- scoped to explicitly listed spoke role ARNs (optional, Enterprise tier)
👁 Every Action is Logged

Three independent audit streams, all written to CloudWatch in your account, all accessible via standard AWS tooling.

📄

API Audit Log

Every REST API call to the gateway management API is logged with timestamp, source IP, HTTP method, endpoint, authenticated user, and response code. Logs are written as structured JSON to CloudWatch Logs.

{
  "time": "2026-06-06T14:22:01Z",
  "user": "admin",
  "src": "10.0.1.42",
  "method": "PUT",
  "path": "/api/firewall/rules",
  "status": 200
}
🔥

Firewall Events

Suricata IDS/IPS alerts and nftables rule hits are written in EVE JSON format and forwarded to CloudWatch. Each event includes rule ID, category, source/destination, protocol, and action taken (alert vs. drop).

{
  "event_type": "alert",
  "src_ip": "203.0.113.5",
  "dest_port": 22,
  "signature": "SSH brute force",
  "action": "blocked"
}
🤖

AI Proxy Log

Every LLM API call proxied through the gateway is logged with model name, token count, estimated cost, source IP, and latency. Prompt content is never logged. All entries go to CloudWatch in your account.

{
  "model": "gpt-4o",
  "src": "10.0.2.17",
  "tokens_in": 512,
  "tokens_out": 1024,
  "est_cost_usd": 0.0092,
  "cache_hit": false
}
🔗 Built on Auditable Open Source

The data-plane components are kernel-level open source that you can inspect, build, and audit independently. No proprietary packet inspection, no black-box agents.

nftables IPVS Suricata HAProxy Squid WireGuard Terraform Kubernetes Calico CNI

Packet processing happens entirely in Linux kernel space via nftables and IPVS -- no userspace packet copies, no proprietary kernel modules. The gateway binary orchestrates configuration; it never intercepts or copies packet payloads in user space.

🔒 Keys Never Leave Your Instance

TLS private keys are generated and stored entirely within your EC2 instance. No key escrow, no cloud-side storage.

1

ACM Private CA issues the certificate

Your ACM Private CA (created by the CloudFormation stack in your account) signs the gateway certificate. The CA private key never leaves ACM.

2

ExportCertificate to instance disk only

The gateway calls acm:ExportCertificate at boot and writes the certificate and private key to local disk. The API call happens instance-to-AWS -- the key never transits Camphor infrastructure.

3

HAProxy reads the key locally for TLS termination

HAProxy is configured to read the certificate file from disk with 0600 permissions, accessible only to root. TLS is terminated locally on the instance for dashboard and API traffic.

The private key is never:

Uploaded to Camphor infrastructure or any third-party service
Stored in S3, Secrets Manager, or any shared storage
Put in SSM Parameter Store or accessible via the API
Transmitted in CloudWatch logs or metrics
Readable by any IAM principal outside your instance role

Ready to Deploy?

Schedule a call to walk through the architecture, or go straight to pricing. No sign-up required to start.