State per dipendere da noi. Ecco perché è sicuro.
Costruita e gestita da due fondatori, Het e Om. Questa pagina è tutto ciò che vorremmo leggere prima di trasformare una piccola API sconosciuta in una dipendenza di produzione — ogni affermazione punta al suo meccanismo e, dove siamo carenti, lo diciamo qui per primi.
La maggior parte degli scraper mente al vostro agente. Il nostro presenta un rapporto.
Il fallimento che spaventa ogni ingegnere IA non è il crash — è la bugia silenziosa che un cliente scopre per primo. Il nucleo di EnConvert è il rifiuto di farlo.
Ogni rendering di /v2/perceive, /v2/distill e /v2/watch passa attraverso un modello di qualità deterministico a 8 segnali: markup anti-bot, pagine CAPTCHA e di rilevamento bot, muri di login, corpi vuoti, errori di console JS, sottorisorse fallite, redirect cross-dominio e rendering lenti. Il punteggio torna nella risposta, letto dalla sessione browser reale.
Quando un rendering attiva i rilevatori anti-bot, CAPTCHA o muro di login, la risposta porta un avviso esplicito che nomina la condizione e le deduzioni esatte che hanno prodotto il punteggio. Ottenete l’output completo più la verità su di esso — mai una pagina di sfida spacciata per la risposta.
Una pagina segnalata come bloccata non attiva mai l’estrazione LLM a pagamento. Ottenete il risultato euristico più un avviso che spiega il salto, invece di token bruciati a inventare struttura da una schermata di sfida.
Inviate un’opzione che non abbiamo ancora rilasciato e l’API la rifiuta con un 422 che lo dichiara — non accetta mai un parametro per poi ignorarlo silenziosamente. I successi parziali tornano come avvisi nominati, mai come un’alzata di spalle silenziosa.
- Tasso di rilevamento del 92%, falsi allarmi al 4% sul nostro corpus etichettato di 50 pagine — circa 1 pagina di blocco su 12 può comunque sfuggire, e pubblichiamo i casi mancati.
- /v2/ingest esegue il rendering delle pagine ma non filtra ancora sul punteggio, quindi una pagina bloccata può entrare in un corpus RAG senza essere segnalata; quel filtro è nella roadmap, non è completo.
- Un punteggio basso segnala e avverte — non blocca la consegna né rimborsa la chiamata, e non trattiene mai silenziosamente il vostro contenuto.
Ecco esattamente cosa succede ai vostri dati.
Nessuna astrazione — due flussi coprono quasi tutto ciò che fa EnConvert.
- Arriva tramite TLS
- Verificato rispetto al limite di dimensione del vostro piano e alle estensioni accettate
- Nome del file sanificato — componenti di percorso e sequenze di traversal rimosse
- Byte mantenuti in memoria, passati direttamente al convertitore — il vostro file sorgente non viene mai scritto nel nostro storage
- Solo l’output convertito viene memorizzato, privato, sotto il prefisso di chiave del vostro account
- Scaricato tramite un URL prefirmato: scadenza a 15 minuti, proprietà verificata prima della firma
- Eliminabile da voi, in qualsiasi momento
- L’HTML renderizzato dei lavori su URL viene conservato per 90 giorni per alimentare la valutazione della qualità e la cache — è dichiarato nell’Informativa sulla privacy, e qualsiasi singola richiesta può disattivarlo con l’header X-Enconvert-No-Capture: true, cablato nella pipeline e non solo scritto in una policy.
- I file convertiti vengono conservati per la finestra di ritenzione del vostro piano (da 1 ora nel piano Free fino a 30 giorni nei livelli superiori), poi eliminati.
- I metadati vengono registrati (endpoint, dimensioni, durata e, per i lavori su URL, l’URL sorgente). Il contenuto dei vostri file e i corpi delle pagine renderizzate non vengono mai scritti nei nostri log.
Niente badge. Meccanismi.
Non possiamo consegnarvi un report SOC 2 — quindi ecco i controlli specifici di cui è un proxy, incluso dove ciascuno si ferma.
Ogni URL fornito dal chiamante viene esaminato prima che il browser lo tocchi. Bloccati: schemi non HTTP(S), credenziali incorporate, spazio di indirizzi privato / loopback / link-local / multicast / riservato, endpoint di metadati cloud sia per IP (169.254.169.254) sia per hostname, e notazioni IP non standard (ottale puntato, esadecimale, intero compattato) che un validatore e un browser possono interpretare in modo diverso. Lo screening viene eseguito su perceive, distill, discover (ogni link seguito dal crawler), watch (alla creazione e prima di ogni controllo), ingest, e sul vostro URL webhook prima di ogni consegna.
Solo V2 — i vecchi endpoint V1 url-to-pdf / screenshot / markdown precedono questo modulo e non vengono esaminati. Due lacune documentate sono in fase di irrobustimento: il DNS rebinding e un URL pubblico che reindirizza a uno interno dopo lo screening. Lo screening copre la pagina che richiedete, non ogni sottorisorsa che carica.
Le chiavi portano 256 bit di casualità da un CSPRNG e vengono memorizzate solo come hash SHA-256 con un breve prefisso visualizzato — il testo in chiaro viene mostrato una volta e non è recuperabile, né da voi né da noi. La revoca ha effetto dalla richiesta immediatamente successiva. Le chiavi possono essere limitate a endpoint e domini specifici, con applicazione lato server a ogni chiamata. Le chiavi segrete (sk_) vengono rifiutate categoricamente da un browser; le chiavi pubblicabili (pk_) possono emettere solo token di breve durata legati all’origine per i domini che inserite in whitelist. Le sessioni browser usano token di accesso di 1 ora; il token di refresh di 7 giorni vive in un cookie HttpOnly, Secure.
L’hash della chiave è SHA-256 senza salt (corretto per chiavi casuali ad alta entropia; per le password usiamo bcrypt). Un token già emesso rimane valido fino alla scadenza — fino a un’ora — anche dopo aver revocato la chiave da cui proviene. Oggi non c’è un limitatore di frequenza al secondo; la spesa è delimitata da quote di piano rigide verificate prima di ogni operazione.
Ogni webhook V2 di completamento e di cambiamento (ingest, watch) è firmato con HMAC-SHA256, con il timestamp di consegna legato alla firma in stile Stripe, e inviato come X-Enconvert-Signature e X-Enconvert-Timestamp — così il vostro consumer può verificare il mittente e rifiutare i replay. Il segreto di firma è per progetto, proviene da un CSPRNG, viene rivelato solo tramite la dashboard autenticata e ruota istantaneamente. Insieme viene fornito un verificatore di riferimento a tempo costante; le consegne riprovano con backoff, e ogni tentativo viene firmato di nuovo.
Solo webhook V2. Il callback legacy di conversione asincrona V1 non è firmato per design congelato — non fateci affidamento per l’autenticità.
Ogni conversione fatturabile scrive una riga di ledger append-only con una chiave di idempotenza deterministica, e il contatore si muove solo quando quella riga viene inserita, nella stessa transazione — una richiesta ripetuta o duplicata non può essere contata due volte. Le conversioni fallite, i rendering falliti e le richieste rifiutate per quota non vengono mai fatturati. Al limite di un piano ricevete un 402 con i vostri numeri di utilizzo esatti, prima che venga eseguito qualsiasi lavoro. La spesa per estrazione LLM sta dietro un limite atomico di riserva-e-liquidazione che fallisce in modo chiuso, e un job notturno ricalcola ogni contatore dal ledger grezzo e segnala le deviazioni invece di riscrivere silenziosamente la vostra fattura.
Il controllo della quota e l’incremento sono due passaggi, quindi al confine di un limite le richieste concorrenti possono sforare di una manciata di operazioni — sempre a vostro favore. La fatturazione per eccedenza si applica solo se la attivate esplicitamente.
Usate una chiave pk_, vincolata ai vostri domini, per tutto ciò che è lato client — i browser rifiutano sk_ di proposito.
Ricalcolate HMAC-SHA256 su <timestamp>.<body>, confrontate a tempo costante, rifiutate tutto ciò che ha più di 5 minuti.
Una chiave limitata al solo endpoint di cui ha bisogno non può fare altro se trapela.
Ruotate un segreto, oppure revocate e ricreate una chiave, nel momento in cui sospettate un’esposizione — la revoca è immediata.
La vostra parte del recinto — quattro cose che tengono al sicuro il vostro account
Prove, non promesse.
Cosa è effettivamente costruito, cosa è effettivamente testato, e risposte oneste alle simulazioni di guasto che state già facendo girare nella vostra testa.
Se il server si riavvia a metà, le operazioni batch interrotte vengono contrassegnate come fallite con un motivo esplicito «resubmit», i job ingest riprendono da uno stato durevole per pagina, e i monitor recuperano da soli perché il loro programma vive nel database. Il vecchio modo di fallire, con un job bloccato per sempre su «In Progress», qui non accade.
Un singolo URL non renderizzabile fa fallire solo la propria operazione e il resto del vostro batch si completa con risultati parziali. Un job crashato non fa mai cadere il ciclo del worker.
Un osservatore di pagina che fallisce tre controlli di fila si mette in pausa da solo e vi invia un’email, invece di fingere silenziosamente di osservare.
Oltre 380 test automatizzati puntano esattamente a questi comportamenti: limiti del rilevamento dei blocchi, rifiuto delle firme webhook falsificate, fallimento parziale dei batch e regressione di rendering a livello di byte contro fixture di riferimento. Il valutatore di qualità è verificato contro un corpus etichettato di 50 pagine al 92% di rilevamento e 4% di falsi allarmi, con i casi mancati noti inseriti nel repository. Nota onesta: questi test girano manualmente, non ancora in CI.
Oggi EnConvert opera in una singola regione. La pagina di stato è pubblica e veniamo allertati automaticamente. Non c’è un help desk anonimo 24/7 — ci sono due fondatori, e uno di noi è raggiungibile.
Siamo in due, per progettazione: Het gestisce il prodotto giorno per giorno, Om copre quando Het non è disponibile, e viceversa. In un giorno normale nessuno dei due deve comunque premere un pulsante — i worker si autoripristinano e resistono ai riavvii, i monitor si mettono in pausa automaticamente quando si rompono, e i periodi di fatturazione ruotano da soli.
Al momento i rendering si serializzano su un solo nodo, uno alla volta — un limite reale su cui siamo onesti. Le conversioni veloci rispondono in modo sincrono; il lavoro pesante o a raffica degrada a job asincroni invece di fallire. Il ridimensionamento orizzontale è lavoro pianificato, non lavoro consegnato.
È la vera domanda per un fornitore giovane, quindi ecco una risposta vera. L’API è stateless: i vostri file vivono minuti e ore, non anni, quindi migrare significa cambiare un endpoint, non esportare un database. Se mai dovessimo chiudere, ricevete almeno 6 mesi di preavviso scritto — e alla chiusura rilasciamo il codice di conversione principale ai clienti paganti, così non restate mai bloccati su un’API black-box morta. Lo mettiamo per iscritto apposta.
Cosa non faremo mai con i vostri file.
- Non addestriamo mai modelli sui vostri file o sui vostri contenuti
- Non vendiamo né condividiamo mai i vostri dati
- I file sorgente vengono elaborati in memoria, mai memorizzati — solo il vostro output convertito lo è, sotto il vostro prefisso, eliminabile da voi
- I download sono privati e a tempo limitato: URL firmati, scadenza a 15 minuti, proprietà verificata prima della firma
Storage a oggetti per i vostri output convertiti.
Estrazione assistita da LLM (uno dei subprocessori LLM di EnConvert — quale sia attivo è un’impostazione configurabile), solo sui piani in cui la attivate — il contenuto della pagina ridotto viene inviato per estrarre dati strutturati; altrimenti, per questo scopo, il vostro contenuto non lascia mai l’infrastruttura di EnConvert.
Estrazione assistita da LLM (uno dei subprocessori LLM di EnConvert — quale sia attivo è un’impostazione configurabile), solo sui piani in cui la attivate — il contenuto della pagina ridotto viene inviato per estrarre dati strutturati; altrimenti, per questo scopo, il vostro contenuto non lascia mai l’infrastruttura di EnConvert.
Estrazione assistita da LLM (uno dei subprocessori LLM di EnConvert — quale sia attivo è un’impostazione configurabile), solo sui piani in cui la attivate — il contenuto della pagina ridotto viene inviato per estrarre dati strutturati; altrimenti, per questo scopo, il vostro contenuto non lascia mai l’infrastruttura di EnConvert.
Il fornitore di ricerca dietro /v2/lookup; il testo della vostra query di ricerca viene inviato a Serper.
Elaborazione dei pagamenti e fatturazione.
Motivi per non usare EnConvert.
Ogni proposta onesta include i casi in cui è la scelta sbagliata. Ecco i nostri.
Non le abbiamo. Se un certificato è un requisito di procurement imprescindibile, non ci siamo ancora arrivati.
Un’azienda di due persone non può scriverlo onestamente — usate un fornitore più grande.
Non offerto; EnConvert è solo un’API ospitata.
I limiti di dimensione per piano vanno da piccoli nel piano Free fino al livello Production — oltre quello, strumento sbagliato.
Legittimo. Tutto in questa pagina è progettato per rendere questo rischio più piccolo di quanto sembri, ma non fingeremo che sia zero.
Due nomi. Raggiungibili.
Bootstrapped, nessun investitore — le entrate provengono solo dagli abbonamenti, quindi l’unico compito del prodotto è continuare a funzionare per le persone che lo pagano. Il supporto è gestito dalle persone che hanno scritto il codice.
Non fidatevi di questa pagina. Verificatela.
Eseguite 100 operazioni nel piano gratuito, puntate /v2/perceive su una pagina che sapete essere difficile e leggete il punteggio che vi restituisce. Gratis durante la beta — nessuna carta di credito.
[email protected] · rispondiamo alle segnalazioni di sicurezza entro un giorno lavorativo