01 — Architecture

Product security architecture

Six components, each scoped to do one job.

Frontend

The web application you interact with — session-based, served over TLS, with no direct access to stored source code outside an authenticated, workspace-scoped session.

API

Every scan, finding, migration, and verification run is created and read through an authenticated API. The frontend has no privileged path around it.

Analyzer

Runs the AST-based Python parser and the JCA-pattern Java parser against a scanned repository to produce findings. It reads code; it does not execute it.

Migration engine

Writes source transformations only for recipes explicitly approved by the policy engine — see Product for how that boundary works.

Sandbox

Builds, tests, and rescans for verification run in an isolated, ephemeral environment — not your CI, not your workstation.

GitHub integration

A GitHub App connection scoped to the repositories you explicitly authorize, used to read code and open draft pull requests.

02 — Source-Code Handling

What happens to your repository

How it's accessed

Quantera scans code you already have — no agent, no runtime instrumentation installed in your systems. A repository is cloned fresh at scan time, either from a local path or through a GitHub App connection you authorize, pinned to a specific commit.

Where analysis runs

Static analysis (the Repository Scanner and Cryptographic Context Engine) runs against the cloned copy. Verification — builds, tests, rescans — runs separately, inside an isolated, ephemeral sandbox: containerized, non-root, read-only root filesystem.

What we're still finalizing

Exact retention windows for cloned code and scan artifacts, and the specifics of any third-party model usage in the pipeline, are being finalized ahead of general availability. We'll publish the specifics here rather than leave this vague once they're locked.

What we won't do

Migration code is generated only for recipes explicitly approved by the policy engine — never freely by a model. Findings never include the raw content of embedded private keys, only their location and metadata.

03 — AI Usage

Where AI is involved, and where it isn't

AI helps classify context

AI assists in reading how a key is used — key establishment vs. signature vs. another role — from the surrounding application code. That classification feeds the recommendation; it doesn't decide it.

AI does not choose the migration target

The mapping from a classified role to a specific algorithm — key establishment to ML-KEM, signatures to ML-DSA — comes from an explicit, approved recipe in the policy engine, not from a model's free-form judgment.

Outputs are schema-validated

Structured outputs used downstream (findings, plans, migration metadata) are validated against a fixed schema before anything is acted on.

A model's word is never the last check

Generated code is verified with a real build, your existing tests, generated PQC tests, and a rescan — see the verification checklist. A confident-sounding explanation is not evidence.

04 — Sandbox

Isolated verification

Builds and tests never run against your live systems.

Containerized

Each verification run gets its own container, discarded when the run completes.

Non-root, read-only root

Processes run without root privileges, against a read-only root filesystem.

Network-restricted

Sandbox network access is limited to what a build actually requires, not open by default.

Credential-isolated

Sandbox environments don't inherit your organization's broader credentials or secrets.

05 — Authentication

Sessions, isolation, and roles

Access is session-based and organization-scoped — one workspace cannot see another's repositories, findings, or migrations. Within a workspace, role-based permissions govern who can view findings, approve a migration, or manage connected repositories, so a viewer can't merge and a reviewer can't approve their own submission.

06 — GitHub Permissions

Least privilege, by design

Contents

Read access to the repositories you explicitly authorize; write access is scoped to migration branches Quantera creates, never your default branch directly.

Pull requests

Quantera opens draft pull requests carrying the migration diff and its evidence package. It does not merge them.

Checks

Verification results are reported as check runs on the pull request, visible in the same place as your other CI checks.

No direct merge

Merge control stays with your engineers. Every migration Quantera proposes is a draft PR waiting on human review, not a change already applied.

07 — Encryption

In transit and at rest

Traffic to and from Quantera is encrypted with TLS. Stored credentials — including GitHub App tokens and any connection secrets — are encrypted at rest and are never displayed in full once saved.

08 — Audit Logging

Who did what

Scans, findings, migration approvals, and verification runs are recorded against the user and workspace that triggered them. The same evidence your reviewers see attached to a draft pull request — build output, test results, rescan results, performance delta — is available to your admins after the fact, not just at review time.

09 — Vulnerability Disclosure

Found a problem?

We're standing up a dedicated security contact and a published security.txt. Until then, reach us at admin@quanteraai.io with "Security" in the subject line — we'll respond and route it directly to engineering.

10 — Compliance Roadmap

Where we actually are

Quantera is not yet SOC 2 certified. As we move design partners into production use, independent review is on our roadmap, and we'll update this page the moment that changes — not before. We'd rather you know exactly what's verified today than read a badge that isn't.

Questions before you connect a repository?

Talk to our team about your specific security requirements.