SpeciGen Platform Architecture

February 2026

Technical Overview

SpeciGen is a multi-tenant SaaS platform for clinical trial sample tracking and biospecimen operations, hosted on Amazon Web Services. The platform absorbs vendor data feeds (central lab, PK/ADA biomarker, EDC, LIMS, pathology, imaging), generates per-subject projected collection schedules from the protocol, and runs continuous reconciliation against expected — with AI-assisted insights and submission-ready eTMF reports.

The stack is intentionally conservative for a regulated workload: a stateless Spring Boot backend serving a React (Vite) single-page application, PostgreSQL on Amazon RDS, Amazon Cognito for identity, AWS Secrets Manager + KMS for secret material, Cloudflare at the edge for TLS termination and DDoS protection, and AWS CloudTrail (multi-region, with log-file validation) for the infrastructure audit trail. Every reconciliation action is captured in a hash-chain audit trail at the application layer; electronic signatures bind SHA-256 hashes to responsible-party attestations.

Key Architectural Concepts

Tenant Isolation

Each sponsor operates within a logical tenant. Isolation is enforced application-side via per-study authorization filters in the Spring Security chain, with row-level filtering at the database. No data crosses tenant boundaries — verified by penetration testing.

Hash-Chain Audit Trail

Every reconciliation action, every electronic signature, every data mutation is recorded in an append-only audit log. Each entry's cryptographic hash chains to the previous entry — tampering with any record invalidates the chain forward.

Electronic Signatures (21 CFR Part 11)

Responsible-party attestations (discrepancy resolution, closeout certifications, reconciliation report acceptance) are bound to the user via Amazon Cognito identity and stored as SHA-256 signature hashes. 21 CFR Part 11 compliance attested by an independent third-party assessor (2026-Q2); attestation report available under NDA.

ALCOA+ Data Integrity

Aligned to ICH E6(R3) data integrity principles: Attributable, Legible, Contemporaneous, Original, Accurate — plus Complete, Consistent, Enduring, Available. Every data action carries user identity, timestamp, and is immutable in the audit log.

Encryption

AES-256 at-rest across Amazon RDS, S3, EBS, and AWS Secrets Manager — all with KMS-managed keys. TLS 1.3 in transit at the Cloudflare edge and within the AWS VPC. KMS region-level default encryption enabled.

AI as Assistive Layer

AI features (plain-English query, recon summaries, drafted vendor queries) are assistive — the deterministic reconciliation engine, audit trail, electronic signatures, and eTMF reports are the system of record. Humans are always in the loop on anything that gets recorded.

Backup & DR

Amazon RDS automated daily encrypted snapshots with point-in-time recovery, 35-day retention. EBS snapshots 30 days. Application audit logs retained for the engagement plus 1 year. Annual DR exercise per SOP-013 (Backup & Restore).

Subprocessors

AWS (hosting, identity via Cognito, LLM inference for AI features, observability), Cloudflare (TLS / edge protection). Each is governed under a signed BAA or DPA and tracked in our Subprocessor BAA Tracker under SOP-019 (Supplier Qualification).

End Users
👤

Clinical Users

Study Managers, Data Managers, Biospecimen Coordinators
Browser-based access (React SPA)
🔐

Admin Users

System Administrators, IT Security
User management via Cognito console
🔗

Enterprise SSO

Federated via Cognito
Auth0, Okta, Azure AD, ADFS
SAML 2.0 / OIDC
HTTPS (TLS 1.2+)
Edge / CDN
☁️

Cloudflare CDN

SSL/TLS termination at edge
Global CDN & DDoS protection
Origin: HTTPS :443
TLS TERMINATED
🔒

Cloudflare SSL

Domain: *.specigen.bio
Universal SSL certificate
Full (Strict) mode enabled
MANAGED CERT
🌐

Cloudflare DNS

*.specigen.bio
Proxied A/CNAME → EC2 origin
Authoritative DNS
HTTPS (TLS 1.2+)
AMAZON VPC — PRIVATE NETWORK
Compute Layer
⚙️

Amazon EC2 Instance

t4g (ARM/Graviton)  •  Private subnet  •  IAM Instance Profile  •  Security Group: restricted ingress/egress
📂

Nginx (Reverse Proxy)

TLS termination (port 443)
Serves React SPA (static build)
Proxies /api/*localhost:8080
Gzip compression enabled

Spring Boot Application

Port: 8080   Context: /api
Java 17+ runtime
HikariCP connection pool (5-20)
Flyway DB migrations
JDBC/SSL (port 5432, TLS)
Data Layer
🗃

Amazon RDS (PostgreSQL)

Engine: PostgreSQL 15
Instance: t4g (ARM/Graviton)
Private subnet — not publicly accessible
Automated backups enabled
ENCRYPTED AT REST (KMS) ENCRYPTED IN TRANSIT (TLS)
📦

Amazon S3

Uploads Bucket
  File uploads (CSV, Excel, PDF, SAS)
Deployments Bucket
  Build artifacts & deployment packages
SSE-S3 (AES-256) HTTPS IN TRANSIT
↑ EC2 calls via HTTPS ↓
Security, Identity & Secrets — called by EC2
🔐

Amazon Cognito

User Pool with password policy
Auth: Email + Password
Hosted UI with custom domain
OAuth 2.0 / OIDC flows
HTTPS
🔗

SSO Federation (via Cognito)

Cognito as federation broker
SAML 2.0 identity providers:
• Auth0
• Okta
• Azure Active Directory
• ADFS / On-prem LDAP
SAML 2.0 / OIDC
🔑

AWS Secrets Manager

Database credentials
Cognito configuration
S3 storage configuration
API keys (LLM providers, integrations)
Automatic rotation capable
ACTIVE
🔏

AWS KMS

RDS encryption key
S3 encryption key
Secrets Manager encryption
AWS-managed, auto-rotating
ACTIVE
HTTPS  |  EC2 outbound API calls
External Services
🤖

LLM API

SpeciGen Knows It All query processing
Reconciliation intelligence
Anomaly classification
HTTPS
📈

Analytics (Future)

Tableau / Spotfire integration
Embedded dashboards
Export: CSV, Excel, PDF
PLANNED
📧

EDC Systems (Future)

Medidata Rave, Veeva Vault, REDCap
Direct API integration
Currently: file-based import
PLANNED

🔒 Encryption Status — HIPAA Compliance Matrix

Connection In Transit At Rest Protocol Status
User ↔ Cloudflare ✓ Encrypted N/A TLS 1.2+ COMPLIANT
Cloudflare ↔ EC2 (Nginx) ✓ Encrypted N/A HTTPS :443 COMPLIANT
EC2 ↔ RDS (PostgreSQL) ✓ Encrypted ✓ KMS (AES-256) JDBC/SSL :5432 COMPLIANT
EC2 ↔ S3 ✓ Encrypted ✓ SSE-S3 (AES-256) HTTPS COMPLIANT
EC2 ↔ Cognito ✓ Encrypted N/A HTTPS COMPLIANT
EC2 ↔ Secrets Manager ✓ Encrypted ✓ KMS HTTPS COMPLIANT
EC2 ↔ LLM API ✓ Encrypted N/A HTTPS COMPLIANT
Cognito ↔ IdPs (SAML) ✓ Encrypted N/A SAML 2.0 / HTTPS COMPLIANT

📋 HIPAA Security Rule — Key Controls

  • ✓  Encryption in transit — all connections TLS 1.2+
  • ✓  Encryption at rest — RDS (KMS), S3 (SSE-S3)
  • ✓  End-to-end encryption — Cloudflare → Nginx → RDS
  • ✓  Secrets Manager — credentials managed, no plaintext on disk
  • ✓  Authentication — Cognito with password policy
  • ✓  SAML 2.0 federation — Enterprise SSO via Auth0
  • ✓  Role-based access control (RBAC)
  • ✓  Audit logging — all user actions timestamped & attributed
  • ✓  21 CFR Part 11 — e-signatures, audit trails
  • ✓  VPC isolation — RDS not publicly accessible
  • ✓  Security groups — restricted inbound/outbound
  • ✓  IAM instance profile — no static credentials on EC2
  • ✓  KMS key management — AWS-managed encryption keys

Legend

Compute & Application
Storage (S3)
Identity & Access
Database (RDS)
Edge / CDN / DNS
Secrets & Key Management
External Services / KMS
COMPLIANT Encrypted & secure

SpeciGen Platform Architecture — Confidential
February 2026