Introduction
Services Used
Complete list of services: Heroku, AWS (S3, Lambda, CloudWatch, SES), Electronic Signature Provider, Postmark (Shared), New Relic, Sentry
The SSM.ro platform is built on a cloud architecture using managed services from several trusted providers. This page lists all external services used, the role of each, and the authentication method.
Hosting Platform — Heroku
| Heroku Service | Role |
|---|---|
| Web dynos | Hosts the web application; configurable autoscaling |
| Worker dynos (asynchronous jobs) | Asynchronous processing: document signing, notifications, archive export |
| Heroku Postgres | Main relational database; managed, PITR enabled |
| Heroku Redis | Application cache + asynchronous job queue |
| Heroku Router | TLS termination, Let's Encrypt certificates, HTTPS enforced |
AWS Services
| AWS Service | Role |
|---|---|
| AWS S3 — Primary bucket | Document storage; versioning + SSE + Block-public-access |
| AWS S3 — CRR Replica | Cross-region replica exclusively for backup/DR |
| AWS API Gateway | Proxy for Lambda microservices; authentication, throttling, logging |
| AWS Lambda | Stateless microservice functions (IAM-scoped, VPC) |
| AWS CloudWatch Logs | Signing audit log (append-only, encrypted, 5-year retention) |
| AWS SES | Transactional email — Dedicated Model (notifications, OTP, system alerts) |
External Providers
Who accesses client data
- Processes client data: Postmark (email — Shared Model only; in the Dedicated Model, email goes through AWS SES) and the Electronic Signature Provider.
- Does not access client data: GitHub (source code / CI only), Sentry and New Relic (technical telemetry only — error/performance traces, no document content or personal data).
| Provider | Category | Role | Authentication |
|---|---|---|---|
| Electronic Signature Provider | Qualified electronic signature (eIDAS QTSP) | Document signing — typically receives a hash and returns a signature; the full document only if the provider requires complete transmission | HTTPS + mTLS or API token |
| Postmark | Transactional email — Shared Model | Notifications, OTP, password reset, system alerts | HTTPS API, dedicated server token |
| New Relic | Observability / APM | Live logs, metrics, NRQL alerts | HTTPS, per-account key |
| Sentry | Error monitoring | Runtime exception capture, email alerts | HTTPS, per-project DSN |
| GitHub | Version control / CI | Code source; branch protection; triggers Heroku build on merge | 2FA enforced; branch protection with PR review |
| Federated IdP (client) | Identity | Federated SSO | OIDC per organization (Shared); SAML on the main domain (Enterprise) |
Service Access Model
- Secrets (API keys, database credentials, tokens) are stored exclusively in Heroku config vars — they are not embedded in the source code and do not appear in the repository
- 2FA is mandatory on administrative accounts: GitHub, Heroku, AWS, and other consoles
- AWS access uses least-privilege IAM credentials
- The electronic signature provider is authenticated via mTLS or API token — no unsecured communication is possible