Bỏ qua tới phần tài liệu
Cơ sở kiến thức

Mã hóa khi lưu trữ

Mọi trường của một thư được niêm phong trước khi được ghi xuống (nội dung, tiêu đề, địa chỉ và byte tệp đính kèm), nên một bản sao của cơ sở dữ liệu là bản mã chứ không phải thư.

Chưa có

Hôm nay chỉ những thông tin đăng nhập bạn giao cho chúng tôi mới được niêm phong theo cách này; nội dung, tiêu đề và tệp đính kèm được lưu đúng như lúc tới, còn lớp phong bì sẽ niêm phong chúng thì đã dựng xong nhưng cố ý chưa đấu nối vào đâu cả.

Chi tiết

  • Chưa phát hành. Có đúng một thứ được niêm phong trước khi ghi xuống và không có gì khác: một khóa bí mật ký webhook. Nó được niêm phong dưới khóa dẫn xuất của riêng nó nên một bản mã lấy ra từ bảng này không mở được như của bảng khác, và đó là chỗ duy nhất trong mã nguồn có bất cứ thứ gì được niêm phong. Không nội dung, tiêu đề, liên hệ, ghi chú, mục lịch hay tệp đính kèm nào đi qua đó.
  • Đây là một tuyên bố khác với hai tuyên bố xung quanh nó, và khác biệt nằm ở chỗ ai giữ khóa. Mã hóa đầu cuối nghĩa là khóa thuộc về bạn và thư không đọc được ở đây; mã hóa khi lưu trữ nghĩa là thư được niêm phong trên đường vào kho dưới một khóa mà máy chủ này dẫn xuất ra, nên một bản dump cơ sở dữ liệu, một bản sao lưu đi lạc hay một truy vấn lẽ ra không ai được chạy đều là bản mã, trong khi chính máy chủ vẫn mở được nó để phân thread, tìm kiếm và tóm tắt. Cái thứ nhất bảo vệ bạn khỏi chúng tôi. Cái thứ hai bảo vệ bạn khỏi mọi người khác, và đó mới là chuyện liên tục xảy ra với những công ty khác.
  • Điều đúng ở thời điểm hiện tại đáng được nói thẳng thay vì để người ta tự suy: thư được lưu trên hạ tầng tự mã hóa ổ đĩa của nó, không có lớp nào của riêng chúng tôi nằm trên đó, và chúng tôi giữ khóa, nên máy chủ đọc được thứ nó lưu, và các tính năng tìm kiếm và tóm tắt thư của bạn làm đúng như vậy. Trang quyền riêng tư đã nói đúng những lời đó từ khi nó được viết ra, và sẽ còn nói tiếp cho tới khi phần này ra mắt.
  • Mọi trường thì nhiều hơn phần nội dung. Tiêu đề, danh sách người gửi và người nhận cùng đoạn trích mà chế độ danh sách hiển thị đều nằm trong các cột được lập chỉ mục thông thường, và các bản tóm tắt sinh ra từ một thư, ghi chú bạn gắn vào một thread, tên liên hệ, tiêu đề và địa điểm lịch, cùng tên và loại của mọi tệp cũng vậy. Một thẻ ghi là đã mã hóa trong khi dòng tiêu đề vẫn nằm phơi ra chính là kiểu ổ khóa mà sản phẩm này từ chối vẽ ở mọi nơi khác.
  • Cái giá phải trả từng là câu hỏi bỏ ngỏ, và phần tìm kiếm của nó giờ đã có một con số thay cho một cuộc tranh luận. Tìm kiếm hôm nay là một truy vấn trên 4.000 ký tự đầu tiên của thư mới nhất trong mỗi thread, lưu ở dạng văn bản thuần. Khi được niêm phong, nó trở thành một lần giải mã và một lần quét bên trong kho hộp thư vốn đã giữ khóa, làm theo từng khối thay vì từng hàng một: trên một tập dữ liệu tổng hợp thì khoảng 100 đến 400 mili giây với 50.000 cuộc hội thoại, và quá khoảng 200.000 thì nó cần kết quả trả về dần dần thay vì tất cả cùng lúc. Con số đó đo trên một máy phát triển với thư được sinh ra, không phải trên một hộp thư thật, nên nó là hình dáng của cái giá chứ không phải lời hứa về hộp thư của bạn. Nhờ vậy việc khớp trên bất kỳ mảnh nào của một từ vẫn sống sót y như hiện nay, và không có gì phải ghi một chỉ mục các hash từ khóa xuống đĩa để ai đó lấy đi về sau. Cũng chính đoạn văn bản đó là thứ mà bộ tóm tắt, lượt quét nội dung của bộ chấm điểm lừa đảo, kiểm tra văn bản do AI viết và bất kỳ quy tắc nào khớp theo từ khóa đều đọc, và mỗi thứ đều mở nó theo cùng một cách, đó là hình dáng trung thực của tuyên bố này: niêm phong trước một bản sao của cơ sở dữ liệu, không bao giờ niêm phong trước máy chủ.
  • Trước khi bất cứ thứ gì không thể thay thế được niêm phong, phong bì phải mang theo phiên bản của chính nó và id khóa của chính nó. Hôm nay mọi khóa dẫn xuất đều treo vào một bí mật duy nhất, và xoay nó thì bạn mất các khóa bí mật ký webhook; một khi nội dung thư được niêm phong theo cùng cách đó, xoay nó sẽ mất cả thư. Phần đó đã dựng xong, và chưa có gì được niêm phong bằng nó. Mọi phong bì nó tạo ra đều mang phiên bản của chính nó và id của khóa đã tạo ra nó, đọc được trước khi có ai định mở, và tự ràng buộc vào đúng hàng mà nó thuộc về: một giá trị nhấc ra khỏi hàng này rồi thả vào hàng khác sẽ không mở được, và nó nói rằng nó đã bị di chuyển chứ không thất bại như một khóa sai. Chưa có gì gọi tới nó, và đó chính là lý do phải dựng nó trước. Định dạng là cam kết; việc áp dụng nó, từng trường một, mới là phần vẫn đảo ngược được.
  • Một câu duy nhất quyết định cái gì được niêm phong, để nó áp dụng được cho một cột mà chưa ai nghĩ tới: niêm phong bất cứ thứ gì một con người viết ra hoặc chọn, để yên bất cứ thứ gì máy chọn. Một tiêu đề, một nội dung, một ghi chú thread, một tên liên hệ, một tiêu đề lịch, một tên tệp, một quy tắc bạn gõ ra: những thứ đó đến từ bạn. Một message id, một trạng thái hàng đợi, một số lần thử lại, một id hàng: những thứ đó được sinh ra ở đây, và niêm phong chúng chẳng mua được gì trong khi khiến mọi truy vấn đọc chúng phải trả giá. Hai ngoại lệ nằm trên đó. Một giá trị vốn đã không thể đảo ngược, một hash hay một token digest, không an toàn hơn nhờ được niêm phong thêm. Một giá trị được công bố có chủ ý thì vẫn đọc được, bởi niêm phong nó sẽ niêm phong đúng cái thứ mà nó sinh ra để đem trao đi.
  • Ba thứ vẫn đọc được theo quy tắc đó, và mỗi thứ là nền móng của hộp thư chứ không phải một góc bị bỏ dở. Mốc thời gian, vì chúng là khóa sắp xếp và con trỏ phân trang, và một hộp thư không sắp xếp được theo ngày thì không phải hộp thư. Tên miền của bạn, vì truy vấn đọc nó chính là cách một thư đến tìm ra tenant mà nó thuộc về, trước khi có ai đăng nhập và trước khi có khóa nào trong tay. Khóa công bố, vì người gửi phải tra khóa của bạn. Mỗi thứ đó nói lên điều gì đó về hình dáng của một tài khoản, và không thứ nào trong đó là nội dung thư của bạn.
  • Niêm phong dưới một khóa do máy chủ dẫn xuất là bậc đầu tiên và là bậc đang được xây. Bậc thứ hai, niêm phong bằng khóa của bạn ngay khi thư tới sao cho không khóa nào ở đây mở được, là một thay đổi lớn hơn và là một sản phẩm khác: phần nội dung rời khỏi tìm kiếm và các tính năng AI vĩnh viễn, và việc giữ khóa cùng cụm từ khôi phục chuyển sang giữa bạn và chính thư của bạn. Đó là một lựa chọn phải cân nhắc kỹ chứ không phải một công tắc để gạt, và thẻ này sẽ nói rõ cái nào đã ra mắt thay vì làm mờ ranh giới giữa hai thứ.