Tổng quan kỹ thuật dành cho người rà soát bảo mật. Mọi điều ở đây đều đối chiếu được với mã nguồn — kể cả những phần không có lợi cho chúng tôi, chúng tôi nói ra thay vì bỏ qua.
Không có backend. Tiện ích là một tiện ích Chrome theo Manifest V3, sinh mã TOTP/HOTP ngay trên máy bằng OTPAuth. Chúng tôi không vận hành máy chủ, không giữ tài khoản, và không có kênh nào để dữ liệu người dùng đến được tay chúng tôi.
Vì không có máy chủ nên cũng không có vật liệu khóa phía máy chủ, không ký gửi khóa và không có đường khôi phục nào do chúng tôi kiểm soát. Nếu người dùng quên mật khẩu và mất mã khôi phục, chúng tôi không giúp được — đó là chủ ý thiết kế.
Bảo vệ bằng mật khẩu là tùy chọn và mặc định tắt. Khi bật:
Dữ liệu không bao giờ được mã hóa trực tiếp bằng khóa dẫn xuất từ mật khẩu. Một khóa chính ngẫu nhiên mã hóa các bản ghi; đầu ra PBKDF2 chỉ bọc lấy khóa chính đó. Hai hệ quả kéo theo, và cả hai đều quan trọng:
Khi bật bảo vệ bằng mật khẩu, toàn bộ bản ghi tài khoản được mã hóa trừ mã định danh và dấu vân tay — kể cả tên dịch vụ, nên hồ sơ trình duyệt bị đánh cắp cũng không lộ ra người dùng có tài khoản ở những dịch vụ nào. Khi bật, tiện ích mã hóa các bản ghi, kiểm chứng bằng cách giải mã và đối chiếu, rồi mới xóa mọi bản sao dạng rõ: bộ nhớ cục bộ của trình duyệt, phần đồng bộ và cả bảy ảnh chụp sao lưu luân phiên.
Nói thẳng, vì điều này ảnh hưởng đến đánh giá của bạn:
Ngắn gọn: nó bảo vệ dữ liệu khi lưu trữ. Nó không, và không thể, bảo vệ một thiết bị đã nằm trong tay kẻ tấn công ngay trong lúc sử dụng.
Tệp manifest khai báo đúng hai quyền và không có quyền host nào:
Không có content script nào, không có quyền tabs, cookies hay webRequest, và không có tài nguyên nào truy cập được từ web. Tiện ích không thể đọc hay sửa nội dung của bất kỳ trang nào.
Quét QR bằng máy ảnh chạy trên một trang của tiện ích mở trong tab, không phải trong cửa sổ popup — popup bị hủy ngay khi mất tiêu điểm, mà hộp thoại xin quyền thì làm đúng điều đó. Việc này không cần bất kỳ quyền nào trong manifest: nó dùng hộp thoại xin quyền máy ảnh chuẩn của trình duyệt, cấp theo origin của tiện ích và thu hồi được trong cài đặt trang, và chỉ xuất hiện khi người dùng mở trình quét. Video được giải mã ngay trên máy, không bao giờ được truyền đi hay lưu lại.
Khi dùng bình thường, tiện ích không gửi yêu cầu tự động nào, và Manifest V3 cấm mã từ xa. Toàn bộ kết nối nó có thể tạo ra:
| Máy chủ | Khi nào | Có mang dữ liệu người dùng không? |
|---|---|---|
| worldtimeapi.org timeapi.io | Kiểm tra lệch đồng hồ, có cache, lỗi thì bỏ qua lặng lẽ. Đồng hồ lệch là TOTP hỏng. | Không |
| authenticator.sh | Trang chào mừng khi cài đặt; trang góp ý khi gỡ cài đặt hoặc đánh giá. | Không (chỉ log máy chủ web thông thường) |
Không phông chữ, mã, kiểu dáng hay hình ảnh nào được tải từ máy chủ bên thứ ba. Mọi thứ cần để dựng giao diện đều nằm sẵn trong gói cài đặt.
Bạn không cần tin suông bất cứ điều nào ở trên. Tiện ích là mã nguồn mở và mỗi bản phát hành đều tái lập được:
.crx đã phát hành từ Chrome Web Store và giải nénnpm ci && npm run build trên Node 20 LTSdist/ thu được với gói đã giải nénMỗi bản phát hành trên GitHub đều kèm SHA-256 của từng tệp trong dist/ đã dựng, dưới dạng SHA256SUMS-v<version>.txt và theo định dạng sha256sum, nên bước 4 rút lại thành một lần chạy sha256sum -c. Khác biệt chỉ nên nằm ở thứ tự tệp bên trong kho nén và khoảng trắng trong đầu ra đã rút gọn giữa các bản vá Node.
Phụ thuộc lúc chạy được giữ ít một cách có chủ đích — OTPAuth, React, jsQR, Zustand, Framer Motion và Lucide — ghim bằng lockfile đã commit. SBOM theo chuẩn CycloneDX có sẵn khi được yêu cầu.
Xem mã nguồnChúng tôi là một nhà cung cấp nhỏ và độc lập. Nếu bất kỳ điểm nào dưới đây là yêu cầu bắt buộc trong quy trình của bạn, biết ngay bây giờ vẫn hơn là biết sau ba tuần đánh giá:
Thứ chúng tôi đưa ra để bù lại là mã nguồn minh bạch hoàn toàn, bản dựng xác minh được, bề mặt quyền tối thiểu và không có hạ tầng máy chủ nào có thể giữ dữ liệu của bạn ngay từ đầu.
Báo cáo lỗ hổng và câu hỏi bảo mật: security@authenticator.sh. Chính sách công bố, phạm vi, thời gian phản hồi và điều khoản safe harbour nằm ở trang chính sách bảo mật; những gì được lưu và những gì rời khỏi thiết bị được nêu trong chính sách quyền riêng tư.
Chúng tôi sẵn lòng trả lời bảng câu hỏi đánh giá nhà cung cấp bằng văn bản hoặc cùng đội bảo mật của bạn rà từng phần mã nguồn.
Với mọi việc không thuộc phạm vi bảo mật — cài đặt, khôi phục tài khoản, thắc mắc thanh toán khi triển khai — xem hỗ trợ. Xin đừng gửi báo cáo lỗ hổng tới đó; hộp thư ấy không được xử lý như thư mật.