I'm Andrea Ferro - full-stack developer focused on cloud & security. I design network protocols, submit them to the IETF, and build the open-source software that runs them: dynamic DNS, AI-agent identity, encrypted user-owned memory, zero-knowledge storage.
▸draft-ferro-dnsop-apertodns-protocol-01▸draft-ferro-dnsop-apertoid-00▸draft-ferro-apertomemory▸90,000+ active installs▸client-side AES-GCM▸_apertoid TXT RR▸99.99% uptime▸zero-knowledge architecture
0K+
Active installs
0
IETF Internet-Drafts
0%
ApertoDNS uptime
0
Bytes readable by me - by design
01 · Projects
Infrastructure you can verify, not just trust.
Every project ships with an open spec, an open repo, or both. If it touches your data, the encryption happens on your device - never on mine.
Dynamic DNS · Open standard
ApertoDNS PROTOCOL v1.4.1
A free, professional Dynamic DNS service - and the open protocol behind it. Modern REST API, real-time webhooks, official npm CLI, custom domains via Cloudflare and AWS Route 53, 99.99% uptime. Built as the interoperable answer to legacy DDNS providers, standardized as an IETF Internet-Draft and listed on the EU's Interoperable Europe portal.
$npx apertodns update--host lab.irn3.com→ resolving public address…POST /v1/hosts/lab/ip 200 OK · 41 ms→ webhook fired:ip.changed✓ lab.irn3.com → 93.44.xx.xxTTL 60
AI-agent identity · DNS
ApertoID IETF DRAFT
When an AI agent claims “I represent example.com” - nothing today can verify it. ApertoID closes that gap: domain owners declare authorized agents, publish verification keys and enforcement policy in DNS TXT records under _apertoid. SPF/DKIM/DMARC, rebuilt for the agentic web.
Your AI's memory of you shouldn't live in someone else's silo. ApertoMemory is a portable, client-side-encrypted, user-owned memory format for AI applications - take it with you between models and providers. Open spec on the IETF track, MIT-licensed reference implementations in Python and TypeScript.
# memory stays yours - encrypted before it leavesfromapertomemoryimportVaultvault = Vault.open("me.amem", key=local_key)vault.remember("prefers dark mode, writes TS")
// keys are derived - and stay - in your browserconstkey = awaitcrypto.subtle.deriveKey(
{ name: "PBKDF2", iterations: 600_000 }, …)constblob = awaitcrypto.subtle.encrypt(
{ name: "AES-GCM" }, key, file)// what reaches the server: ciphertext. full stop.
Zero-knowledge storage
Obliva ZERO-KNOWLEDGE
File storage where privacy isn't a promise - it's a mathematical property. End-to-end encryption happens in the browser, keys never leave your device, no accounts, no tracking. Not even Obliva can read what you store. Zero knowledge. Zero access. Zero compromises.
The security-headers plugin trusted by 90,000+ WordPress sites. Automatic best-practice configuration of 25+ HTTP response headers - CSP, HSTS, X-Frame-Options, Referrer-Policy - plus OWASP-based CSRF protection, with zero database queries at page load. Rated 4.9/5 on WordPress.org.
Products die; protocols outlive their authors. Three Internet-Drafts submitted to the IETF - open specifications anyone can implement, no permission required.
Turning complex problems into secure, scalable solutions.
Full-stack developer from Verona, Italy, with a focus on cloud infrastructure and security. I've spent years hardening the web at scale - the headers plugin alone protects more than ninety thousand WordPress sites - and building the kind of tools I wished existed: DNS you can script, identity you can verify, storage that can't betray you.
The pattern behind everything: open specs over walled gardens, client-side cryptography over trust-me policies, boring reliability over hype. If a system requires you to trust its operator, I consider that a bug - and I try to fix it at the protocol level.
"Privacy is not promised. It is built - until violating it isn't forbidden, it's impossible."
- the thesis behind Obliva, ApertoMemory & everything else
Privacy & Cookie Policy
Last updated: 21 July 2026 · Regulation (EU) 2016/679 ("GDPR")
$ cookies --list 0 results - this site sets no cookies, of any kind. No banner is shown because there is nothing to consent to.
1. Data controller
Andrea Ferro, Verona, Italy - irn@irn3.com (the "Controller").
2. What this site does NOT do
No cookies, no local storage, no analytics, no tracking pixels, no fingerprinting, no advertising, no profiling, no social widgets. Fonts and every other asset are self-hosted: loading this page triggers no request to third-party servers (no Google Fonts, no CDN). Consequently, no consent banner is required under the ePrivacy Directive or Art. 6 GDPR.
3. Server logs
The hosting infrastructure serving irn3.com may record standard technical logs (IP address, user agent, requested URL, timestamp) for security and abuse prevention. Legal basis: legitimate interest (Art. 6(1)(f) GDPR). Logs are kept for the minimum period required for these purposes and are not used to identify visitors, nor enriched or shared.
4. If you email me
Writing to irn@irn3.com means your address and message content are processed solely to reply to you (Art. 6(1)(b) and (f) GDPR) and retained only as long as our correspondence requires.
5. External links
Links to GitHub, LinkedIn, WordPress.org, IETF, apertodns.com and obliva.org lead to independent controllers with their own privacy policies. Nothing is loaded from those domains until you choose to click.
6. Transfers & recipients
This site performs no transfer of personal data to third countries and shares data with no one. There are no processors engaged by the Controller for this website beyond the hosting provider.
7. Your rights
Under Arts. 15-22 GDPR you may request access, rectification, erasure, restriction, portability, or object to processing, by writing to irn@irn3.com. You may also lodge a complaint with the Italian supervisory authority, Garante per la Protezione dei Dati Personali (garanteprivacy.it).
8. Changes
Any future change to this policy will be published on this page with an updated date. Given the architecture of the site - static, cookie-less, third-party-free - changes are unlikely.