Skip to content

Case study · Cloud and cybersecurity

Self-assessment for entrepreneurs

We did not build it. We took it to production, secured it and ran it.

An entrepreneurship organization had a founder test built by a third party, running on a prototyping platform, with a QR code already printed and in circulation. We took over hosting and security: we migrated it to a cloud we manage, closed the gaps and kept it stable until the campaign ended.

The campaign in numbers

founders registered
329
completed assessments
191
QR codes reprinted
0
concurrent sessions supported
160
Client
Entrepreneurship organization (confidential)
Our role
Hosting, cybersecurity and operations
The application
Built by a third party
Time scope
Migration, campaign and shutdown
01

The challenge

The app worked and the QR code was already printed, but it ran on an environment meant for prototypes: no backups, no deletion protection, database permissions wider than needed and more connections than the database could handle at peak.

02

What we did

We migrated the app to a cloud we manage, redirected the existing QR without breaking links or campaign analytics, set up a custom domain with an automatic certificate, left the database on least privilege with automatic backups, and tuned capacity for event peaks.

03

The result

The whole campaign ran on the new infrastructure at roughly 28 USD a month. When it ended we delivered a verified backup of everything and shut the resources down so the client stopped paying.

Before and after

Same app, same QR code. What changed was everything holding it up.

Before

Printed QR code in circulation

It pointed straight at the prototyping platform.

Prototyping platform

Hosting and database on third-party accounts, with no direct control.

Database with personal data

  • No backups
  • No deletion protection
  • Permissions wider than needed

Untuned capacity

Up to 50 connections against a database that accepts about 25.
After

The same QR, redirected

Permanent redirect that keeps links and campaign parameters.

Custom domain with automatic TLS

Managed certificate with hands-off renewal.

Container on Cloud Run

No servers to maintain, 4 instances max and 160 concurrent sessions.

PostgreSQL 17 on Cloud SQL

  • Role that can only read and insert
  • 30 retained backups plus a verified one
  • Deletion protection and a disk cap

Guards around it

Credentials in Secret Manager and a budget with alerts at 50, 90 and 100%.

Client under a confidentiality agreement. The app belongs to a third party, so we do not show its screens here.

Cybersecurity in practice

Concrete controls for an app with personal data and event traffic.

Least privilege

The app connects with a role that can only read and insert. It cannot delete or change existing data.

Secrets out of the code

Credentials live in Secret Manager and environment files are excluded from the repository and the images.

Backups and deletion protection

Automatic backups with 30 retained, a verified manual backup and deletion protection on the instance.

Review of what we inherited

We audited permissions, costs and failures in the previous setup, and verified every finding before acting.

Encrypted traffic, own domain

HTTPS with a managed, auto-renewing certificate, with the campaign served from a domain under our control.

Brakes on abuse and spend

An instance cap and a budget with alerts: a traffic spike or an attack does not turn into a surprise bill.

Stable through event peaks

database connections, tuned to what it can actually handle
50 → 8
a month to run, 93% of it the database
~28 USD
assessments a month possible with no extra compute cost
30,000

While taking it to production we found and fixed two issues affecting operations: a connection leak that could take the service down, and a double submit that left users stuck right after answering all 28 questions.

A shutdown as careful as the launch

When the campaign ended we did not just switch it off. We delivered a complete, verified package so the client can restore the service whenever they want, on this cloud or another, and then shut the resources down.

  • Full database dump plus Excel-ready tables
  • Code, exact infrastructure configuration and logs
  • The production container image, verified by SHA-256
  • Step-by-step restore instructions

Stack

  • Google Cloud Run
  • Cloud SQL · PostgreSQL 17
  • Secret Manager
  • Artifact Registry
  • Cloudflare DNS
  • Managed TLS
  • Budgets and alerts

Do you have an app that works but is not ready for production?

We host it, secure it and run it, whether we built it or not.