Firewall nativo per macOS

Il firewall col semaforo:
sai sempre chi sta parlando
con il tuo Mac.

X-Varco controlla ogni connessione, app per app: uno scudo verde, arancio o rosso nella barra dei menu ti dice come va, e quando qualcosa non torna decidi tu con un click — consenti o blocca.

Sotto: un'estensione di sistema Apple (Network Extension) che esamina i flussi a livello di socket, regole per applicazione, quarantena per il software appena installato, blocco dei domini tracker e mappa mondiale dei collegamenti.

🖥️ 100% nativo (SwiftUI) 🔒 Tutto resta sul tuo Mac 🚫 Nessun account, nessun cloud
Semaforo verde: tutto regolare
Circuiti stampati: le vie dei dati che X-Varco sorveglia
3 tracker bloccati adesso
Estensione di sistema Network Extension Interfaccia SwiftUI macOS 15+ · Apple Silicon Regole per applicazione Lista tracker 3.536 domini
Come funziona

Tre mosse, poi ci pensa lui

Nessuna configurazione da studiare: X-Varco parte in modalità osservazione e diventa severo solo quanto vuoi tu.

1

Installi e approvi

Apri l'app, un click su "Installa estensione", l'approvazione nelle Impostazioni di Sistema — e il filtro è dentro macOS, non un programma che gira di fianco.

2

Il semaforo ti parla

Scudo nella barra dei menu: verde tutto bene, arancio qualche blocco, rosso raffica di blocchi. Un click e vedi gli ultimi flussi, senza aprire l'app.

3

Decidi con un click

Con "chiedi prima" attivo, la connessione sospetta resta sospesa — non bloccata, non passata — finché non scegli tu: consenti o blocca. La scelta diventa una regola, per sempre.

Controllo quotidiano

Regole per app e per dominio, quarantena e orari

Ogni applicazione ha la sua regola: consenti o blocca, sempre o solo in una fascia oraria (le regole scavalcano la mezzanotte, 22:00 → 7:00 funziona). Le regole per dominio valgono ovunque: "blocca facebook.com" ferma anche i sottodomini, in qualunque app, e vince su ogni altra decisione. E il software appena installato finisce in quarantena: bloccato per i primi giorni finché non lo promuovi tu.

Verde — tutto regolare Arancio — blocchi recenti Rosso — raffica di blocchi
  • Interruttore "Blocca i tracker": ferma 3.536 domini pubblicitari in tutte le app, non solo nel browser
  • Allarme "app che si sveglia": notifica se un programma conosciuto contatta una destinazione mai vista
  • Finestra di decisione sui blocchi di sicurezza: consenti o continua a bloccare, al momento
  • Avvio automatico al login, se lo vuoi — e il filtro lavora anche ad app chiusa
Sala server: le destinazioni dei collegamenti che X-Varco osserva
Trasparenza

Pagella privacy, mappa mondiale e storico

Ogni app riceve un voto da A a D in base a quante delle sue connessioni vanno verso domini di tracciamento. La mappa mondiale mostra dove si collegano le tue app — fili bianchi dal tuo Mac a ogni destinazione, punti rossi dove c'è stato un blocco, click sul punto per nome del server e indirizzo IP. E lo storico conserva 60 giorni di grafici per ora e per giorno.

  • Pulsante "Spiegami": l'AI racconta in italiano semplice cosa sta facendo quella connessione
  • Geolocalizzazione con database a bordo: nessun indirizzo esce dal Mac
  • Grafici delle ultime 24 ore e degli ultimi 30 giorni: consentiti, bloccati, tracker
  • La pagella conta tutto lo storico, anche col cruscotto chiuso
Cablaggi di rete: i collegamenti che X-Varco mappa nel mondo
Per chi vuole i dettagli

Sotto il cofano

X-Varco non è un wrapper: è un firewall costruito sulle API di sistema Apple, con le scelte tecniche documentate qui sotto.

🧩 Estensione di sistema

Il filtro è un NEFilterDataProvider (framework Network Extension) che gira come estensione di sistema firmata e approvata dall'utente: macOS gli consegna ogni nuovo flusso socket — TCP e UDP, in uscita e in entrata — e l'estensione risponde con un verdetto allow/drop prima che il primo byte parta.

La regola di aggancio è totale (NEFilterSettings su ogni rete, ogni porta): niente liste parziali, niente proxy. Con "chiedi prima" il verdetto è pause: il flusso resta sospeso dal sistema finché l'utente non decide (timeout 60s → blocco).

🪪 Identità delle app

Su macOS il flusso non porta il bundle id: X-Varco risale all'app dall'audit token del processo via SecTask, ricavando l'identificativo di firma del codice — stabile tra versioni e non falsificabile, perché garantito dalla firma Apple.

Una cache limitata evita di rifare il lavoro crittografico a ogni connessione.

🔁 App ↔ filtro via XPC

Cruscotto ed estensione parlano su un mach service XPC nel gruppo app: l'app spinge regole e impostazioni al filtro e riceve i flussi in tempo reale; lo storico viaggia nella direzione opposta.

Niente file condivisi: l'estensione gira come root e non vede il contenitore dell'utente — una trappola classica di questa architettura, risolta qui alla radice.

🗂️ Storico aggregato

L'estensione mantiene aggregati per ora (consentiti/bloccati/tracker), per app e per indirizzo IP, potati a 60 giorni e salvati periodicamente: i grafici e la pagella non ripartono mai da zero e il costo su disco resta di pochi KB.

La prima apparizione di ogni app alimenta la quarantena; le destinazioni abituali alimentano l'allarme anomalie.

🛑 Blocco tracker

La lista di Peter Lowe (3.536 domini pubblicitari e di tracciamento) è incorporata nell'app e nell'estensione: classifica i flussi per la pagella e, con l'interruttore acceso, li blocca a livello di socket con confronto per suffisso di dominio.

Lo stesso confronto serve le regole per dominio dell'utente ("blocca facebook.com ovunque"), che hanno la priorità su tutto il resto.

🗺️ Mappa e geolocalizzazione

Geolocalizzazione completamente locale: il database DB-IP City Lite è incorporato nell'app e letto da un lettore MMDB scritto su misura — nessun indirizzo lascia mai il Mac. La posizione "Il mio Mac" usa i servizi di localizzazione di sistema, con permesso esplicito.

La mappa è MapKit nativo: punti aggregati per città, dimensione proporzionale al traffico, polilinee dal Mac a ogni destinazione.

🤖 Spiegazioni con l'AI

Il pulsante "Spiegami" interroga l'API Anthropic (modello claude-opus-5) con i metadati del flusso — app, destinazione, porta, esito, categoria — e restituisce due frasi in italiano per chi non è tecnico.

Funzione opzionale: serve una chiave API personale, e senza chiave l'app funziona per intero.

🖥️ App nativa

Cruscotto, flussi, regole, pagella, storico (Swift Charts), mappa e interruttori sono SwiftUI puro; il semaforo è una MenuBarExtra con icona ridisegnata a ogni cambio di stato.

Notifiche di sistema per le anomalie, finestra di decisione AppKit sui blocchi di sicurezza, avvio al login con SMAppService.

🔏 Firma e affidabilità

App ed estensione sono firmate con hardened runtime; l'estensione dichiara content-filter-provider e l'app system-extension.install. L'aggiornamento dell'estensione è automatico a ogni avvio, con numero di build che cresce a ogni versione.

Progetto generato con XcodeGen, versionato in git, build riproducibili.

Onestà prima di tutto

Cosa X-Varco non fa (oggi)

Preferiamo dirlo noi, chiaramente, prima che lo scopriate voi.

Lo storico conserva aggregati (per ora, per app, per indirizzo): il dettaglio dei singoli flussi si vede dal vivo nel cruscotto, non retroattivamente.
La sospensione in attesa della risposta ("chiedi prima") funziona a cruscotto aperto: ad app chiusa la connessione sospetta viene bloccata subito, senza aspettare.
Il database di geolocalizzazione incorporato pesa ~130 MB e invecchia lentamente: si aggiorna con le nuove versioni dell'app, non da solo. Precisione a livello di città, come ogni database IP.
Serve macOS 15 o successivo e l'approvazione manuale dell'estensione di sistema al primo avvio: è una garanzia di Apple, non un difetto, ma va fatta.