הצינור: מקלט רגיש לפלט מוצפן — הכל על המכשיר
טקסט או קובץ נכנס, Web Crypto מעבד בזרימה, והתוצאה נשארת מקומית או נכנסת לכספת AES-GCM.
החוכמה היא שכל העיבוד הרגיש נשען על Web Crypto API המובנה בדפדפן (SHA, HMAC, AES-GCM) יחד עם spark-md5 ו-crc-32 מקומיים, כך שאף טוקן, מפתח או קובץ לא עוזב את המכשיר — אין backend, אין העלאה, אין אנליטיקס. גיבוב קבצים לא טוען את כל הקובץ לזיכרון אלא קורא אותו במקטעים בזרימה, מה שמאפשר לגבב גם קבצים גדולים בלי קריסה. הכספת נועלת טוקנים ומפתחות פרטיים ב-AES-GCM כשהמפתח נגזר מסיסמה דרך PBKDF2, וכל המערכת עובדת גם אופליין דרך Service Worker עם ספריות vendored, אימות שלמות ב-SRI ו-CSP הדוק כדי לחסום דליפה ל-CDN. הנקודה הלא-מובנת שנחשפה: גל בדיקות של פרסונות מפתחים על קלט אמיתי ומבולגן תפס פלט-שגוי שהבדיקות הירוקות פספסו — השוואת גיבוב שהחזירה התאמה שגויה על digest רגיש-רישיות.
כל תא הוא כלי אחד מסרגל הצד החי, לפי תשע משפחות (ארבע הקטנות אוחדו לתא אחד). Crypto לבדה מחזיקה 17 כלים - יותר מפי שלושה מהמשפחה הבאה בגודלה (Tools, 5). שם הבידול מול it-tools.tech, ולא בכלי המפתחים הגנריים. 40 מתוך 42 הכלים מעבדים הכל מקומית; dnssec ו-ניתוח סיסמאות פונים החוצה מעצם טבעם (DNS-over-HTTPS ו-HIBP, קידומת hash בלבד), ואף אחד מהם לא מדבר עם שרת של Cryptools - אין כזה.
מה זה
Cryptools היא חבילה של 42 כלים למפתחים ולעבודת הצפנה, שכולם רצים בצד הלקוח בלבד. הכלים מכסים גיבוב של קבצים וטקסט (MD5, SHA-1/256/384/512, CRC32), HMAC והשוואת גיבובים, הצפנה ופענוח, גזירת מפתחות (Argon2, bcrypt, scrypt, PBKDF2, HKDF), חלוקת סוד ב-Shamir, חתימות PASETO, TOTP, קריפטוגרפיה פוסט-קוונטית (ML-KEM / ML-DSA), יצירת טוקנים, UUID, מפתחות וסיסמאות, מקודדים (Base64, URL, JWT), ממירים (JSON/YAML/TOML/XML, בסיסי ספירה, תאריכים, שמות משתנים, cron) וכלי אבטחת ווב כמו ניתוח CSP, פענוח X.509 ובדיקות SPF/DKIM/DMARC.
בנוסף יש כספת מוצפנת שבה אפשר לשמור טוקנים, מפתחות פרטיים וסיסמאות מקומית, מוגנים ב-AES-GCM עם PBKDF2. המוצר חי בכתובת cryptools-brown.vercel.app.
הבעיה
רוב כלי המפתחים המקוונים דורשים להדביק או להעלות נתונים רגישים — טוקנים, מפתחות, תעודות, קטעי קוד — לשרת של מישהו אחר. לעבודת הצפנה ואבטחה זו בעיה: אתה לא באמת יודע לאן הנתונים הולכים.
רציתי כלי אחד, מהיר וברור, שבו העיבוד הרגיש קורה רק על המכשיר שלך. זו נקודת הבידול מול חלופות כמו it-tools.tech ו-generate-random.org: כאן העיבוד הרגיש קורה על המכשיר, וקבצים, מפתחות וטוקנים לא עוזבים את הדפדפן.
מה בניתי
בניתי אפליקציית vanilla ללא שלב build — HTML/CSS/JS טהור, קובץ app.js יחיד (יותר מ-7,000 שורות) שנטען בתג script אחד. הכל client-side: אין backend, אין אנליטיקס, קבצים נקראים בזרימה בתוך הדפדפן.
יש גם שכבת REST API אופציונלית שרצה כ-Cloudflare Worker נפרד (UUID, טוקנים, סיסמה, hash, HMAC) לשימוש מסקריפטים. העיצוב לקוח ממערכת הטוקנים של Sculio — cream, charcoal ו-emerald, גופן IBM Plex Sans, מובייל-פירסט.
איך זה עובד
הגיבוב וההצפנה מתבססים על Web Crypto API המובנה (SHA, HMAC, AES-GCM), בתוספת spark-md5 ל-MD5 בזרימה ו-crc-32 ל-CRC32. גיבוב קבצים קורא את הקובץ במקטעים כדי לטפל גם בקבצים גדולים בלי להעמיס את הזיכרון.
האפליקציה עובדת גם אופליין דרך Service Worker, עם ספריות מקומיות (vendored) ו-importmap כדי לא לדלוף שימוש ל-CDN, שלמות ספריות מאומתת ב-SRI, ומדיניות CSP הדוקה. כל כלי ניתן לשיתוף בקישור עמוק עם פרמטרים, ויש command palette עם Cmd+K.
התוצאה
המוצר חי ונבדק מקצה לקצה, כולל 174 בדיקות אוטומטיות (יחידה, פונקציונליות, נכונות מול וקטורים ידועים, מערכת ובדיקת נפילת CDN). כל כלי נבדק גם על הכלי הפועל עצמו, לא רק בקוד.
מעבר לבדיקות האוטומטיות, הרצתי גם גל בדיקות של פרסונות מפתחים שמשתמשות בכלים על קלט אמיתי ומבולגן — וזה מה שחשף פלט-שגוי שהבדיקות הירוקות לא תפסו, למשל השוואת גיבוב שהחזירה התאמה שגויה על digest רגיש-רישיות. כל אלה תוקנו ואומתו על הסביבה החיה.