Skip to main content

AI Transparency Ledger - how it works

An open, append-only and verifiable record that certifies for each article and tool on federicocalo.dev the AI-generated vs human-authored percentage. Conceived as an extension of Google's E-E-A-T and anticipated compliance with Article 50 of EU Regulation 2024/1689 (AI Act).

Why a transparency logbook?

  • Multiplier of trust. Seventy-seven percent of readers who identify as AI-generared without a disclaimer report permanent distrust in the publisher.
  • Advanced Interoperability (AI) Regulation Compliance. Article 50 of EU Regulation 2024/1689 imposes from August 2nd, 2026 the mandatory machine readable labelling for contents generated by artificial intelligence. The Ledger is already in compliance.
  • Citation Authority for AI. Perplexity, ChatGPT and Claude are starting to weigh the origin of content. Honest declaration of human versus AI contributions is an emerging rank signal.

What an Entry contains

Each Ledger entry is a signed JSON object in the form of an extended hash chain, main fields are:

aiGeneratedPct
Estimated honest contribution percentage of AI (0-100). 0 = 100% human effort. 100 = Raw AI with no review.
aiProvider
Model used (e.g., "cloudflare-llama-3-8b", "Claude-Opus-4-7"). None if generation is purely human.
humanReviewer
Reviewer who validated the content before publication. Default: Federico Calò.
promptHash
SHA-256 of the used prompt - not the prompt itself (for privacy reasons). Allows verification: "given a prompt X does its hash match?"
outputHash
Verify the published content's hash (SHA-256). Allows checking if today’s read content matches what was declared.
entryHash
SHA-256 of output hash or previous entry hash or generation date . It is the block chain link.
previousEntryHash
Link to the previous post of same content: If I change my mind and rewrite an article, I create new entries that point back to it – history remains unchanged.

How to verify an entry

  1. Download the complete chain by making a GET request to: https://github.com/FedericoCalo/angular-transparency/blob/main/src/app/services/api.service.ts#L123&L124, replacing with your article
  2. Download the published content and calculate its SHA-256 hash, which must match with the last outputHash of , .
  3. For each entry: calculate SHA-256(outputHash || previousEntryHash || generationDate) and compare with entryHash. If any of the fields has been modified afterwards, the chain breaks.
# Esempio verifica chain (bash + jq + openssl)

curl -s https://federicocalo.dev/api/v1/transparency/article/mio-slug | jq .data > chain.json

# Verifica outputHash per ogni entry
jq -r '.[].outputHash' chain.json

# Verifica entryHash
jq -r '.[] | "\(.outputHash)\(.previousEntryHash // "")\(.generationDate)"' chain.json \
  | while read concat; do echo -n "$concat" | sha256sum; done

Editorial policy

  • Every article published after April 22, 2026 must have an entry.
  • Previous articles have been backfilled with %s at an estimated rate of %d (conservative estimate). Federico will manually correct cases where AI was used.
  • A significant modification (≥20% of the text) produces a new post. Revisions, links are broken, small updates to SEO do not generate new posts.
  • The estimate of to Generated PCT is honest but subjective, it does not pretend to be a scientifically measured value.

Frequently Asked Questions (FAQ)

Is the Ledger public?

Yes, anyone can read any entry through the public API. Write access is reserved for Federico only (admin-level).

No, non è esattamente lo stesso concetto. Un Merkle Tree e una Blockchain sono due strutture dati diverse che servono a scopi diversi. Un Merkle Tree (albero di Merkle) è uno str

No — for the MVP it's a single-linked hash chain (faster and simpler enough to be sufficient in this use case). A future iteration could evolve towards using a Merkle Tree with public-chain block anchoring (e.g. Bitcoin OpenTimestamps or Ethereum L2) .

How can I contribute or report inaccuracies?

Write to [email protected] with subject "Transparency Ledger - [title]". After the creation of the system's leads we will use a dedicated channel.

Is it compliant with the General Data Protection Regulation (GDPR)?

Yes. The ledger records the hashes of prompts (not their content), the used AI models and the name of reviewers. No user personal data is recorded.