// security architecture

Read-Only by Design.

PingTraceSSH uses temporary cross-account AWS access to read only the network configuration metadata required for modeling and assurance.

01

AWS Access Model

A customer-managed IAM role establishes the boundary. PingTraceSSH assumes that role with a customer-specific External ID, receives temporary STS credentials, and uses those credentials only for the permitted discovery calls.

  1. Customer AWS Account
  2. PingTraceSSHReadOnlyRole
  3. AWS STS AssumeRole
  4. Temporary credentials
  5. PingTraceSSH Scanner
  6. Assurance Engine
No static customer AWS access keys
Temporary STS credentials
Customer-specific External ID
No AWS write permissions
02

IAM Permissions

PingTraceSSHReadOnlyRole · allowed actions
  • ec2:DescribeVpcs
  • ec2:DescribeSubnets
  • ec2:DescribeRouteTables
  • ec2:DescribeInternetGateways
  • ec2:DescribeNatGateways
  • ec2:DescribeTransitGateways
  • ec2:DescribeTransitGatewayAttachments
  • ec2:DescribeTransitGatewayRouteTables
  • ec2:SearchTransitGatewayRoutes
  • ec2:DescribeVpnConnections
  • ec2:DescribeSecurityGroups
  • sts:GetCallerIdentity

Why Resource: "*"?

AWS does not support resource-level permissions for these discovery operations, so the policy uses Resource: "*". The permission boundary remains the explicit list of read-only Describe, Search, and identity-check actions shown here.

There are no create, update, delete, attach, detach, or other mutation actions in the role.

Connect AWS documentation
03–04

Data Boundaries

What PingTraceSSH reads

Network configuration metadata needed to build topology, compare snapshots, and evaluate Critical Paths.

  • VPC CIDRs
  • Subnet metadata
  • Route tables
  • Transit Gateway relationships
  • Gateway relationships
  • VPN state
  • Security-group configuration

What PingTraceSSH does not read

The scanner does not inspect workloads or application data. Its IAM role cannot retrieve these categories.

  • Application payloads
  • Packet contents or packet captures
  • EC2 filesystem data
  • Database contents
  • Customer AWS access keys
  • Application secrets
05

Terraform Security

SIGNED REQUESTS

HMAC verification

HCP Run Task requests are verified against a per-integration HMAC signing key before real runs are accepted.

PLAN ACCESS

Run-scoped access

The signed post-plan payload provides the temporary access needed to retrieve plan data for that analysis.

SERVER BOUNDARY

Tokens stay server-side

HCP access tokens and callback details are excluded from customer-facing analysis responses.

PUBLIC SURFACE

Results, not raw plans

Analysis pages expose modeled results, changed resources, and unresolved references—not the raw Terraform plan.

After a terminal analysis callback, the stored HCP access token and callback URL are cleared. See the Terraform assurance workflow.

06

Webhook Security

HCP Terraform

Real Run Task requests require a valid HMAC-SHA512 signature. Unsigned or invalid real-run requests are rejected before plan processing.

Stripe Billing

Stripe webhook signatures are verified server-side. Event IDs are claimed before processing so repeat deliveries do not duplicate subscription side effects.

Webhook signing keys, billing secrets, and integration tokens are never exposed in this page or the public product interface.

07

Tenant Isolation

Every AWS connection is associated with its owning customer account.
Connection and analysis reads are scoped to the signed-in user.
Sensitive operations repeat ownership checks on the server.
Customer-supplied record ownership is never trusted.
HCP integrations map to a specific owned AWS connection.
Scanner and integration credentials remain outside the browser.
08

Data Retention

PingTraceSSH retains historical network snapshots, Terraform analyses, alert history, and the billing metadata required to operate the service. Canceling a subscription pauses new paid processing when access becomes inactive; it does not immediately delete historical data.

Formal retention controls are still evolving.

09

Customer Offboarding

    01

    Remove the connection

    Removing an AWS connection stops future scans. Connections with history are archived so existing results remain available.

    02

    Remove the IAM role

    Delete PingTraceSSHReadOnlyRole from the customer AWS account to prevent any future role assumption.

    03

    Cancel billing

    Cancel the subscription through the Stripe-hosted billing portal from the Account page.

10

Security Contact

Report a security concern

Use the company contact form and identify the message as a security report. Include enough detail for the team to reproduce and assess the issue, without sending credentials or secrets.

Contact PingTraceSSH

Review the product workflow.

See how discovery, Critical Paths, Terraform assurance, and HCP gating work together.