Timestamp GIT Secure your prior art without exposing code

← Tutti gli articoli

2026-09-02

Protezione del codice per freelance: una soluzione di timestamping

Protezione del codice per freelance: una soluzione di timestamping
timestamp git blockchain proof

Protezione del codice per freelance: una soluzione di timestamping

Alex è una sviluppatrice full-stack freelance. Diciotto mesi fa ha creato una libreria di autenticazione riutilizzabile per un progetto di un cliente. Il contratto era carente in termini di clausole sulla proprietà intellettuale e il lavoro è stato consegnato tramite un repository GitHub privato. La scorsa settimana, Alex ha trovato un modulo di autenticazione sospettosamente familiare nel nuovo prodotto SaaS dello stesso cliente: logica scritta da lei, riorganizzata quel tanto che basta per sembrare diversa.

Quando Alex ha sollevato la questione, il cliente ha affermato di aver sviluppato la funzionalità in modo indipendente. Alex ha lo storico Git locale, thread di email e alcune esportazioni di file. Ma l’avvocato del cliente definisce quelle prove autoreferenziali e modificabili. Senza un accordo formale sulla proprietà intellettuale e senza una registrazione indipendente di quando il suo codice è esistito, Alex è bloccata.

Questo è l’incubo del plagio per i freelance. Il lavoro tecnico è fatto, ma manca la prova.

L’incubo del plagio per i freelance

I freelance raramente dispongono dell’infrastruttura legale di un’azienda. La maggior parte del lavoro avviene attraverso un mix di fiducia, un contratto che potrebbe non menzionare la proprietà del codice e un repository Git a cui il cliente potrebbe avere o meno ancora accesso. Quando sorge una controversia, la situazione delle prove è spesso peggiore del previsto.

Le fonti di prova comuni falliscono rapidamente:

  • Le email con timestamp possono essere inoltrate, modificate o respinte perché non collegate al codice effettivo.
  • Le date di modifica dei file sono metadati locali e possono essere modificate con strumenti di base.
  • Le date dei commit Git sono anch’esse metadati. Possono essere impostate su valori arbitrari durante il commit, quindi un tribunale o un cliente non ha motivo di considerarle a prova di manomissione.
  • L’hosting su GitHub o GitLab dimostra che il codice è esistito sul server di qualcuno, ma non necessariamente in una data specifica e non in modo indipendente dal proprietario del repository.

Per Alex, la dolorosa consapevolezza è che “l’ho scritto io per prima” richiede più della memoria e di un grafo dei commit. Richiede un timestamp che nessuno possa riscrivere.

Perché i freelance hanno bisogno di prior art crittografica

Un hash di commit Git è un’impronta digitale crittografica unidirezionale dello stato esatto del repository in un determinato momento. È un buon punto di partenza: l’hash è matematicamente legato al codice. Ma un hash da solo non è prova di quando è esistito. Per creare quella prova, l’hash deve essere ancorato a un mezzo pubblico e immutabile.

È qui che entra in gioco Bitcoin.

Il timestamping crittografico utilizza la blockchain di Bitcoin come testimone indipendente. Quando un hash di commit viene incorporato in una transazione Bitcoin tramite il protocollo OpenTimestamps, l’esistenza di quell’hash viene congelata in uno specifico blocco Bitcoin. Una volta confermato, quel blocco non può essere alterato, riordinato o rimosso senza riscrivere la storia di Bitcoin — cosa che nessuna singola parte può fare.

Per i freelance, questo crea una forma di prior art che è:

  • Indipendente: la prova non dipende dal tuo account GitHub, dal tuo laptop o dalla disponibilità del cliente ad ammettere qualcosa.
  • Verificabile: chiunque può verificare il file .ots rispetto alla blockchain di Bitcoin senza bisogno dei server di Timestamp GIT.
  • A conoscenza zero: puoi dimostrare che uno specifico hash di commit è esistito senza rivelare il codice sorgente dietro di esso.

Non si tratta solo di plagio. Lo stesso meccanismo aiuta contro i patent troll, le controversie con i contractor e le rivendicazioni di “clean room” da parte dei concorrenti. Se desideri un approfondimento sulla logica Bitcoin sottostante, consulta Come Bitcoin può dimostrare che la tua proprietà intellettuale è esistita prima.

Per questo articolo, il focus è più ristretto: fornire agli sviluppatori freelance un modo pratico per dimostrare la paternità prima che sorga una controversia.

Una guida pratica: proteggere il tuo codice con Timestamp GIT

Timestamp GIT automatizza l’intero flusso di lavoro di timestamping crittografico. Non devi eseguire comandi OpenTimestamps, gestire transazioni Bitcoin o ricordare un processo di marcatura manuale. Il flusso di lavoro è progettato attorno agli strumenti che già usi come freelance.

Passaggio 1: installa la GitHub App di Timestamp GIT una sola volta

Inizia installando la GitHub App di Timestamp GIT e selezionando i repository che desideri monitorare. Questa è una configurazione una tantum.

In Modalità Standard, la GitHub App legge solo l’hash del commit HEAD di ciascun repository monitorato. Non legge, copia o archivia il tuo codice sorgente. Il modello di permessi di GitHub richiede l’accesso in lettura al repository sorgente per il rilevamento dei commit, più l’accesso in scrittura a un repository di destinazione in cui verranno archiviate le prove. La destinazione può essere lo stesso repository o un repository ombra separato.

Per una guida completa all’installazione, consulta Timestamping automatico di ogni commit Git con una GitHub App.

Passaggio 2: continua a fare commit come al solito

Dopo l’installazione, non c’è alcun passaggio aggiuntivo nel tuo flusso di lavoro quotidiano. Ogni nuovo hash di commit viene rilevato automaticamente, messo in coda e incluso in un batch notturno.

Ogni notte, Timestamp GIT raggruppa gli hash di commit in sospeso per repository, crea un file manifest, costruisce un albero di Merkle e ancora la radice di Merkle nella blockchain di Bitcoin tramite il protocollo OpenTimestamps. Tu continui a scrivere codice; la prova si accumula in background.

Passaggio 3: recupera le tue ricevute di prova

Una volta elaborato un batch, Timestamp GIT invia il manifest e i file di ricevuta .ots a un ramo timestamps dedicato o a un repository ombra. Poiché la conferma Bitcoin richiede normalmente circa tre ore, la consegna della prova non è istantanea — ma non richiede alcuna azione da parte tua.

Il file .ots è la prova fondamentale. Puoi anche generare un certificato PDF dalla dashboard di Timestamp GIT per una data specifica.

Passaggio 4: mostra pubblicamente lo stato di verifica

Timestamp GIT fornisce badge di verifica incorporabili per il tuo README. Dopo aver collegato un repository, puoi utilizzare il widget badge nella pagina Repository Connected per generare uno snippet markdown con l’URL corretto del badge Shields.io.

Un badge pubblico fa due cose per i freelance: mostra ai clienti che il tuo progetto ha una traccia di timestamp indipendente e rende la verifica immediatamente accessibile.

Passaggio 5: usa la prova in una controversia

Se un cliente rivendica uno sviluppo indipendente, puoi consegnare la ricevuta .ots e un link di verifica. L’altra parte non ha bisogno di accedere a Timestamp GIT. Può scaricare la ricevuta e verificarla localmente rispetto alla blockchain di Bitcoin utilizzando gli strumenti OpenTimestamps standard.

Per i repository privati, gli URL dello stato di verifica sono protetti con un HMAC crittografato in modo che solo gli utenti autorizzati possano visualizzare lo stato dei timestamp del repository. La prova stessa rimane verificabile in modo indipendente tramite il file .ots.

Quando non puoi concedere l’accesso al repository sorgente

Alcuni contratti freelance impongono NDA rigorosi che impediscono di concedere a qualsiasi app di terze parti l’accesso in lettura al repository sorgente. In tal caso, la Modalità Enterprise ZK è la soluzione giusta. Una GitHub Action di 12 righe viene eseguita sulla tua infrastruttura e invia solo l’hash del commit all’API di Timestamp GIT. Il tuo codice sorgente non lascia mai il tuo ambiente e Timestamp GIT non ha bisogno di accesso in lettura al repository sorgente.

Cosa evitare: errori comuni nella protezione del codice

Prima che sorga una controversia, gli sviluppatori freelance spesso si affidano ad abitudini che sembrano sicure ma sono deboli sotto esame. Evita questi schemi.

Affidarsi solo ai timestamp delle email o ai log Git self-hosted

Uno storico Git è utile per il tuo debugging. Non è una prova indipendente di esistenza. Le date dei commit possono essere manipolate e i log interni sono spesso trattati come autoreferenziali nelle controversie legali o con i clienti. Usa Git per lo sviluppo, ma non trattarlo come un notaio.

Aspettare che sorga una controversia per iniziare il timestamping

La prior art crittografica aiuta solo se il timestamp esiste prima del lavoro contestato. Il timestamping dopo una rivendicazione non prova nulla sulla data di creazione originale. L’unico approccio pratico è marcare ogni commit dall’inizio di un progetto.

Usare strumenti CLI OpenTimestamps manuali per ogni commit

Il protocollo grezzo funziona, ma farlo manualmente su più progetti freelance è dispendioso in termini di tempo e soggetto a errori. Dovresti costruire il tuo batching, archiviare le ricevute, gestire la verifica e ricordarti di eseguire il processo in modo coerente. È la strada difficile. Timestamp GIT esiste per sostituire quel lavoro manuale con un flusso di lavoro gestito e automatizzato.

Presumere che la pubblicazione su GitHub dimostri la paternità

Pubblicare codice su GitHub dimostra che il codice è disponibile ora. Non dimostra quando l’hai scritto e non crea un timestamp immutabile. Un concorrente o un ex cliente può ancora affermare di aver costruito qualcosa prima. L’hosting GitHub da solo non è protezione di prior art.

Ignorare la catena di custodia dei file di prova

Una ricevuta .ots è utile solo se puoi trovarla e collegarla al commit giusto. Mantieni le ricevute organizzate. Se un progetto si estende su più repository o clienti, archivia le ricevute con nomi di progetto e date. Timestamp GIT conserva le ricevute in un ramo timestamps o in un repository ombra, il che ti offre una catena di custodia coerente senza archiviazione manuale.

Timestamp GIT: la soluzione gestita a configurazione zero

Timestamp GIT è costruito per sviluppatori che desiderano una prova crittografica senza diventare esperti di timestamping. Una volta installata la GitHub App, ogni commit su un repository monitorato viene ancorato a Bitcoin automaticamente ogni notte. Non c’è alcuno strumento CLI, nessun comando OpenTimestamps manuale e nessuna configurazione locale del protocollo.

Proprietà chiave del flusso di lavoro gestito:

  • Integrazione GitHub App: i repository monitorati vengono collegati una sola volta e gli hash dei commit fluiscono automaticamente.
  • Architettura a conoscenza zero: Timestamp GIT marca solo gli hash dei commit. Non legge, copia o archivia mai il codice sorgente.
  • Indipendenza dal fornitore: le prove utilizzano solo SHA-256 e dati dei blocchi Bitcoin. Puoi verificare tutto offline, anche se Timestamp GIT scomparisse.
  • Niente da installare sulle macchine degli sviluppatori: il flusso di lavoro SaaS gestito viene eseguito senza agenti locali.

Per i freelance che desiderano il massimo controllo o necessitano di un ambiente air-gapped, Timestamp GIT è disponibile anche come immagine Docker self-hosted. Un docker-compose.yml di base si presenta così:

services:
  timestampgit:
    image: rue1401/timestampgit:prod
    ports:
      - "8080:8080"
    volumes:
      - ./data:/app/data
    restart: unless-stopped
  valkey:
    image: valkey/valkey:8
    restart: unless-stopped

Avvialo con:

docker compose pull
docker compose up -d
docker compose logs -f timestampgit

L’applicazione è quindi disponibile su http://localhost:8080. Una procedura guidata di configurazione ti accompagna nel collegamento della tua GitHub App. Una licenza demo a tempo limitato è disponibile dalla pagina Docker License.

Per la maggior parte dei freelance, i piani gestiti sono il punto di partenza pratico: Open Source è gratuito per i repository pubblici, Pro Agency costa $49/mese per i repository privati ed Enterprise ZK costa $199/mese per il flusso di lavoro basato su GitHub Action senza accesso in lettura.

Se stai confrontando le opzioni, consulta Timestamp GIT vs OpenTimestamps manuale: quale è meglio?.

FAQ: protezione del codice freelance con Timestamp GIT

Timestamp GIT mi richiede di esporre il mio codice sorgente?

No. Timestamp GIT legge solo gli hash dei commit, mai il tuo codice effettivo. In Modalità Standard, la GitHub App richiede l’accesso in lettura al repository per rilevare i commit, ma non archivia né trasmette il tuo sorgente. Per la massima privacy, la Modalità Enterprise ZK utilizza una GitHub Action che invia solo l’hash del commit all’API, quindi il tuo codice non lascia mai il tuo ambiente.

Come posso dimostrare che il timestamp è autentico in una controversia legale?

Ricevi un file di ricevuta .ots che può essere verificato in modo indipendente rispetto alla blockchain di Bitcoin utilizzando gli strumenti OpenTimestamps standard. La prova è matematicamente assoluta e non dipende dai server di Timestamp GIT. Puoi anche generare un certificato PDF e condividere un link di verifica dalla dashboard di Timestamp GIT.

Cosa succede se lavoro su repository privati?

Timestamp GIT supporta i repository privati con il piano Pro Agency a $49/mese. La GitHub App richiede l’accesso in lettura al repository sorgente e l’accesso in scrittura a un repository di destinazione, che può essere un repository ombra. Per i freelance sotto NDA rigorosi, la Modalità Enterprise ZK a $199/mese consente il timestamping senza concedere l’accesso in lettura al repository sorgente.

Il timestamp è legalmente riconosciuto?

I timestamp crittografici ancorati alla blockchain di Bitcoin sono sempre più accettati come prova di prior art e paternità. Forniscono una registrazione a prova di manomissione e verificabile in modo indipendente. Tuttavia, il riconoscimento legale varia a seconda della giurisdizione, quindi consulta un consulente legale per casi specifici. Timestamp GIT fornisce la prova tecnica; non sostituisce la consulenza legale.

Conclusione: marca il timestamp prima di aver bisogno della prova

L’errore di Alex non è stata la mancanza di competenza — è stato aspettare la controversia per cercare le prove. I freelance non possono affidarsi alla fiducia, ai thread di email o ai metadati Git modificabili quando un cliente rivendica uno sviluppo indipendente.

Timestamp GIT cambia l’equazione rendendo automatica la prior art crittografica. Installa la GitHub App una volta, collega i repository e continua a fare commit. Ogni hash di commit viene ancorato a Bitcoin ogni notte, le ricevute vengono consegnate a un ramo timestamps o a un repository ombra e ottieni una registrazione verificabile che esiste indipendentemente da qualsiasi relazione con il cliente.

Inizia con i repository pubblici gratuiti su Timestamp GIT e costruisci l’abitudine ora. Il momento migliore per dimostrare di aver scritto qualcosa è il giorno in cui lo scrivi.

Post correlati

EU label: AI-generated content