close
FLIPPING THROUGH…
VOL. 01 — NO. 08CASALE MONFERRATO, IT · --:--:--
ENIT
↓ CV
AI, CLOUD & SECURITY EDITION

MarcoBellingeri

CLOUD PLATFORM & AI SECURITY ENGINEERSECURITY HEADERSA+verify it yourself ↗

I make the AI you put into production secure, and the cloud it runs on, for teams that already have a live system and cannot afford to stop it.

BOOK 30 MINUTES — FREE, NO COMMITMENT
“We can only see a short distance ahead, but we can see plenty there that needs to be done.”
Alan Turing — Computing Machinery and Intelligence, 1950

← scroll to see all sections →

01

Dossier

Freelance Cloud Platform & AI Security Engineer, based in Casale Monferrato, Italy. I help teams and companies make their cloud infrastructure reliable and secure: automation, pipelines, hardening, internal tooling. I work alongside the client's team, in pair programming rather than black-box handovers, so they stay autonomous. Python is the main tool for automation, internal tooling and application security.

Security is not a final polish: secrets management, automated CI gates and a written threat model are part of the delivery, not of a later engagement. When a model sits in the middle the list gets longer: prompt injection on content coming from outside, AI Act transparency, the software supply chain. What's left at the end of a job is tests that run, documentation that reads, and a team able to work on it without me.

02

Services

Six ways to work together. Below, what each one includes; if your problem fits none of them, write to me anyway.

ORDER FORM — FILL IN & SEND

Not a shopping cart: a starting point. Select what you need, how and for how long: I generate a draft brief you can copy or email me in one click.

01 — WHAT YOU NEED
02 — MODE
03 — ESTIMATED DURATION
DRAFT BRIEF

No published rates: every engagement is sized to the real problem, not to a one-size-fits-all price list. The first conversation is always free and no strings attached. Pair programming, not prompt-and-go.

03

Field Notes

One case at a time from a system running in production: problem, approach, result, lesson learned. No theory, only things that actually happened.

0
CASE STUDY — AUGUST 2026

Agentic OS — Claude Code telemetry, in production

PROBLEM

Every Claude Code session streams its telemetry into a hub I built, and a public widget on this site reads three numbers back out of it. Measured against the real client (v2.1.220), Claude Code sends five identity attributes alongside the metrics, and one of them carries my actual email address. Anything that reaches Prometheus becomes a label, and a label is forever.

APPROACH

The first version deleted the five known attributes. That is a deny-list, and a deny-list at a privacy boundary fails open on everything it has not heard of yet: Claude Code telemetry is in beta, its attribute set is not a contract, and the next release can add a sixth. The Collector now keeps an allow-list of six known keys and drops the rest, before batching, so an unknown attribute becomes a missing label rather than a leak. Verified against the real client, including attributes no released version emits yet.

RESULT

Identity never reaches storage at all. The whole hub is five services on Railway with a single ingress, behind a Cloudflare Tunnel, and its public surface is three aggregate numbers: sessions, tokens, cost. When the hub does not answer, the site prints three dashes instead of a zero, because a zero would look like an answer.

LESSON LEARNED

The cost of the trade is written down rather than hidden: a new producer whose labels are not on the list will watch them vanish in silence. That is the direction I want it to fail in. Deleting what you know about protects you until somebody else ships their next release.

04

Magazine

One real case a month on AI, security and governance at work: the problem, the call made, what changed. A pipeline writes it, checked against the sources. The first one is point zero: ideas get better as you go.

N.02
AUGUST 2026 · software-engineering

AI coding tools are everywhere now, but they don't make teams faster on their own

READ
PROBLEM

Back in 2019, a software engineer might have heard about deep learning breakthroughs in computer vision or translation, but few imagined a direct impact on their own daily work. Five years later that has changed dramatically: GitHub's survey of 2,000 people on software development teams across the U.S., Brazil, India, and Germany found that more than 97% of respondents had used AI coding tools at work at some point, a finding consistent across all four countries. The open question is what happens after that first use: a smaller share of respondents said their companies actively encourage AI tool adoption, showing that individual enthusiasm doesn't automatically turn into organizational adoption.

APPROACH

Google built its response inside the internal development environment where engineers spend most of their time, working on both the inner loop (IDE, code review, code search) and the outer loop (bug management, planning), building on the ML-based code completion it had already rolled out internally. The team frames this as part of an ongoing transformation of internal tooling rather than a one-off project. On the measurement side, the 2025 DORA report on AI-assisted software development takes a different angle: instead of asking whether AI works in the abstract, it looks at how AI amplifies whatever dynamics, good or bad, already exist inside an organization.

RESULT

The picture that emerges is not one of automatic productivity gains. The 2025 DORA report concludes that AI does not automatically improve software delivery performance; instead it acts as an amplifier of the practices and organizational conditions already in place. At the same time, GitHub's survey shows near-universal individual adoption (97% having used AI tools at least once) paired with uneven company-level support, with only a smaller share of companies actively pushing adoption. These are two sides of the same transition: the tools have reached everyone, but the organizational payoff hasn't caught up yet.

LESSON LEARNED

Engineering leaders can't treat AI adoption as a simple switch to flip: if delivery practices are already solid, AI amplifies the gains; if they're weak, it amplifies the weaknesses too. The useful first step isn't counting how many people use an AI tool, it's checking whether the company is genuinely backing that use with consistent incentives and processes, because widespread individual use, as the 97% figure shows, doesn't by itself guarantee better team performance.

Open the page →
05

Projects

OPEN SOURCE

Three models from three different providers, set up to disagree with each other, because one LLM on its own tends to tell you what you want to hear. They answer separately, rank each other blind, then an outside chairman sums up. I use it before decisions that actually cost something.

PROBLEM

A model’s eagerness to agree is not a prompting problem: it sits in the weights, put there during training. An LLM used for decision support will confirm whatever direction you signal, including the wrong one.

APPROACH

Python standard library only, zero runtime dependencies, and the dev tools pinned by hash rather than by version number: the supply chain is as small as it gets, and verified on every build. Three independent voters through OpenRouter with anonymised answers, blind cross-ranking, and a chairman picked from outside the voter pool so it cannot vote for itself. Anthropic is excluded on principle: whoever runs the council does not sit on it.

RESULT

Public repo under MIT, 100% coverage across three Python versions, plus a weekly mutation run that checks whether those tests can actually fail. A full mapping of the OWASP LLM Top 10 in SECURITY.md, with the out-of-scope items named and justified.

→ APP STORE

Turin, rush hour: where do you leave the car? An API that answers in real time, built security-first as if it had been in production for years: async FastAPI, PostGIS for geospatial, Redis with ETags. Next stop: the App Store.

PROBLEM

Knowing in real time where there's a free spot in Turin meant jumping between different sources, with no single clean, fast API to query.

APPROACH

Security-first API: async FastAPI on Python 3.12, PostgreSQL 16 + PostGIS for geospatial, Redis 7 with compression and conditional ETag requests, HMAC-SHA256 on API keys (zero plaintext), multi-tier sliding-window rate limiting.

RESULT

51 tests across unit, integration and e2e with testcontainers, CI/CD and a threat model documented in SECURITY.md. Next milestone: bringing it to the Apple App Store as a native app.

How much work I actually do with AI, measured instead of claimed. Claude Code ships its telemetry to a hub of my own, five services behind a tunnel, and on this page three real numbers update by themselves.

PROBLEM

AI-assisted work gets discussed in anecdotes. I had no idea how much of it I was doing, with which models, at what cost, and no tool would tell me without shipping my sessions to somebody else.

APPROACH

OpenTelemetry from Claude Code into a Collector that authenticates the ingest and applies an allow-list on labels: anything not declared safe never becomes a metric. Prometheus stores, Grafana displays behind Cloudflare Access, and a status API exposes exactly three aggregate numbers: no free-form queries, no session content.

RESULT

In production on Railway behind a Cloudflare Tunnel, with no service exposed on a public platform domain. The allow-list came from a measurement, not from a reading: my real email address was arriving as a Prometheus label, and the obvious fix silently lost data.

The philosophical experiment of the lot: an Obsidian knowledge graph asking how memory and identity get built over time. Shelved as a product, irreplaceable as a thinking tool, and the RAG-powered SaaS idea is still on the table.

PROBLEM

Scattered notes didn't talk to each other: ideas, readings and projects ended up isolated instead of connected.

APPROACH

A personal knowledge graph on Obsidian, meant not just as an archive but as an open question about how memory and identity are built over time.

RESULT

Deprioritised as a product against whatever was actually shipping, but it remains the thinking tool I use most, and the idea of a SaaS version with RAG is still on the table.

06

Career

2026 — presentVETRERIA MONFERRINA · REMOTE

Full Stack & AI Engineer

A production site (Astro + Sanity) and an AI agent for SEO/AEO with RAG on Supabase and AI Act governance.

AstroSupabase + pgvectorAI Act
2025 — 2026FAIRFIELD S.p.A. — Figline e Incisa Valdarno (FI), Remote

Full Stack Engineer

Full-stack work on an enterprise debt-collection platform: a Python back-end (Clean/DDD) on AWS serverless and a multi-role React/TypeScript SPA.

REDIS REFACTORAWSReact / TS
2025GECO S.R.L. · GALLIATE (NO)

Software Engineer

Software for critical infrastructure: 24/7 video supervision for Rome Metro Line C and enterprise network diagnostics for Etihad Airways (Scapy).

PythonScapy
07

Stack

Python & Backend

Home turf: back-ends and APIs built on Clean Architecture and DDD (FastAPI, Flask, Falcon). Frontend: Astro and Vite, this site included; React and TypeScript when a SPA is called for.

Security

OWASP hardening, PII encryption (AES-256), threat modeling and a written audit in the repo; CI security gates: Bandit, CodeQL, Gitleaks.

AI Security

OWASP LLM Top 10 on a RAG that runs in production: prompt injection defence on content coming from outside, LLM-as-a-judge as a CI gate, EU AI Act transparency (art. 50), MITRE ATLAS as the threat map.

AI & Agents

RAG with citations (Voyage embeddings), guardrails and human review inside the flow, evals: on Claude API and the Model Context Protocol (MCP).

Supply Chain

CycloneDX SBOM and signed provenance attestation (keyless OIDC) on every deploy, dependencies pinned by SHA, zizmor on the workflows, gitleaks across the whole history.

Cloud & IaC

AWS (Lambda, SQS, S3, IAM, VPC), Kubernetes / K3s, Terraform, Cloudflare Tunnel.

Database

PostgreSQL + PostGIS, Redis, MongoDB, SQLite FTS5, for geospatial work and high-performance caching.

Deploy & Observability

Docker and K3s, CI/CD on GitHub Actions; Sentry, Langfuse, Prometheus and Grafana.

08

Security

This page audits itself. The table below is not a claim. It is read live from the response headers your browser just received.

$ security headers served by this page

SOURCE: HEAD SELF · LIVE

reading response headers…

Headers are applied at the edge (Cloudflare) and read live from this page’s response, so locally they may show as missing.

The terminal on this page prints text written by a model. Keeping that text from becoming code is not a matter of trusting the model: the page has to refuse to run anything inline. Those last two rows are that refusal, read from the policy your browser just enforced.

Radarsecurity world events — who attacks, who responds, who writes the rules
09

Booking

Thirty minutes, free, no commitment. Time zone handled automatically, email confirmation, without messages back and forth to find a time. If we then work together, the first day is on me unless it convinces you.

CAL.EU — LOADED ON REQUEST

The calendar is served by Cal.eu, a third party. Nothing is loaded, and nothing leaves your browser, until you click.

guest@bellingeri:~$
↑↓ NAVIGATE · ENTER OPENESC CLOSE