dev · · 09:01 · 2 min de citit
Dezvoltatorul și-a creat propriul manager de parole din cauza exigențelor legate de UI/UX și securitate
Un dezvoltator a creat un manager de parole open-source numit Ravenpass, nemulțumit de opțiunile existente, punând accent pe o interfață curată, separarea organizată a conturilor și funcționalitatea nativă de autofill. Aplicația folosește un backend Go cu frontend React și TypeScript, utilizând o extensie Swift pentru autofill-ul nativ pe macOS și prioritizând securitatea prin comunicare inter-proces și stocare sigură.
Frustrat de interfața utilizator, organizarea și limitările de autofill ale managerilor de parole existenți, un dezvoltator a decis să-și creeze propria soluție, Ravenpass. Motivația principală a venit din dorința unei experiențe utilizator fluide, unde acțiunile cotidiene precum autentificarea sau editarea intrărilor sunt intuitive și necesită o sarcină cognitivă minimă. Acest lucru a dus la un accent puternic pe estetica și funcționalitatea UI, alături de necesitatea de a separa logic conturile personale de cele de serviciu, evitând o listă unică și aglomerată de credențiale. Mai mult, dezvoltatorul a căutat un manager de parole care să ofere capabilități native de autofill la nivel de sistem, dincolo de simpla integrare în browser, o caracteristică ce s-a dovedit surprinzător de greu de găsit în multe oferte comerciale.
Implementarea tehnică a Ravenpass este notabilă, în special abordarea sa pentru autofill-ul nativ pe macOS. Aplicația desktop este construită folosind Wails, având un backend Go și o interfață utilizator dezvoltată cu React și TypeScript. Pentru a realiza autofill-ul nativ pe macOS, a fost creată o extensie separată de tip credential provider în Swift, utilizând ASCredentialProviderViewController. Acest setup implică comunicare inter-proces între extensie și backend-ul Go printr-un socket Unix dintr-un container App Group partajat. Securitatea este primordială, ambele componente verificându-și reciproc identitatea prin semnături de cod și verificare peer înainte de a gestiona cereri de credențiale sensibile, asigurând că operațiunile sunt procesate doar în condiții valide.
Logica de bază a vault-ului, scrisă în Go, este partajată între toate aplicațiile și gestionează înregistrările, criptarea folosind XChaCha20-Poly1305, recuperarea și starea sesiunii. Codul specific platformei gestionează autofill-ul nativ și deblocarea dispozitivului, integrându-se cu Secure Enclave pe macOS și Android Keystore pe Android. Utilizatorii au control asupra stocării vault-ului, alegând locații locale sau în foldere cloud, fără a necesita un cont Ravenpass, iar recuperarea este facilitată de o frază de 24 de cuvinte. Planurile viitoare includ suport pentru iOS, Windows și Linux, extinzând astfel acoperirea acestei soluții de management al parolelor centrată pe dezvoltatori.
$ sursa --originală
dev.to
Rezumat realizat de Sudofeed pe baza articolului original. Drepturile asupra conținutului aparțin sursei originale.