FOLD
নিরাপত্তা ডসিয়ার

নিরাপত্তা, ভেতর থেকে বাইরে।

আমাদের অভ্যন্তরীণ নিরাপত্তা নথির পাঠযোগ্য সংস্করণ, 2026-09-22 তারিখে কোডের সঙ্গে মিলিয়ে যাচাই করা। কোনো বৈশিষ্ট্য চালু না হয়ে কেবল পরিকল্পিত হলে, এই পাতা তা স্পষ্ট বলে দেয়।

তুলনায়

আমরা FOLD-কে কেবল যাচাইযোগ্য বৈশিষ্ট্যের ভিত্তিতে তুলনা করি, এবং প্রতিটি কলামের জন্য একটি উৎসের লিংক দিই। প্রতিযোগীদের কলাম জুন 2026 অনুযায়ী; কোনো নির্মাতা কিছু বদলালে এই সারণিও সেই অনুযায়ী বদলায়।

বৈশিষ্ট্যFOLDApple MailMimestreamSparkThunderbirdOutlook (নতুন)
বাড়তি কোনো ক্লাউড ব্যাকএন্ড নেইহ্যাঁহ্যাঁহ্যাঁ সরাসরি Gmail-এনা Readdle ক্লাউডহ্যাঁনা MS ক্লাউড
App Sandbox সক্রিয়হ্যাঁহ্যাঁহ্যাঁহ্যাঁসীমিত সাধারণ ইনস্টল স্যান্ডবক্সড নয়হ্যাঁ
নেটিভ OpenPGPহ্যাঁ Ed25519, Curve25519 + RSAনানানাহ্যাঁনা
নেটিভ S/MIMEহ্যাঁহ্যাঁনানাহ্যাঁহ্যাঁ
ক্লায়েন্টেই DKIM যাচাইহ্যাঁনানানাঅ্যাড-অন মূল অংশে নেইনা
যেকোনো IMAP প্রদানকারীহ্যাঁহ্যাঁনা কেবল Gmailহ্যাঁহ্যাঁসীমিত বাধ্যতামূলকভাবে MS ক্লাউড হয়ে
ওপেন সোর্সনানানানাহ্যাঁ MPL 2.0না

উৎস: Apple Platform Security · Mimestream-এর সমর্থিত অ্যাকাউন্ট · Spark-এর গোপনীয়তা ব্যাখ্যা · Thunderbird · নতুন Outlook-এর ক্লাউড সিঙ্ক (Cybernews, 2023).

DKIM সারির অর্থ ক্লায়েন্টের দিকে স্বাধীন যাচাই (বডি হ্যাশ ও স্বাক্ষর নতুন করে হিসাব করা), কেবল সার্ভারের Authentication-Results হেডার দেখানো নয়। 06/2026 অনুযায়ী।

ডিপেনডেন্সি নীতি

তৃতীয় পক্ষের কোনো ডিপেনডেন্সি তখনই গ্রহণ করা হয়, যখন চারটি শর্তই পূরণ হয়: এটি এমন একটি প্রিমিটিভ দেয়, যা আমরা নিজেরা সঠিকভাবে তৈরি করতে পারি না · এটি বিশ্বস্ত উৎস থেকে আসে · এটি নিরীক্ষাযোগ্য · এটি নিচের সারণিতে তালিকাভুক্ত।

ইঞ্জিন ও ইন্টারফেস কেবল Apple সিস্টেম ফ্রেমওয়ার্ক ব্যবহার করে। সরাসরি ডাউনলোড সংস্করণ অ্যাপ শেলে একটি আপডেটার যোগ করে।

অনুমোদিত
FoundationApple SDK। TLS-সহ স্ট্রিম IMAP ও SMTP বহন করে, চালু সংযোগে STARTTLS-সহ।
CryptoKitEd25519, X25519, AES-GCM, SHA-2, HKDF.
Securityকীচেইন, SecTrust, RSA, macOS-এ S/MIME-এর জন্য CMS।
CommonCryptoOCB ও CFB মোডের জন্য AES ব্লক সাইফার।
AuthenticationServicesOAuth-এর জন্য ASWebAuthenticationSession
SQLite3একটি পাতলা Swift মোড়কের মাধ্যমে সিস্টেম SQLite। কোনো GRDB নেই, কোনো SQLite.swift নেই।
WebKitJavaScript বন্ধ ও কঠোর কনটেন্ট নীতিসহ শক্তপোক্ত করা মেইল রেন্ডারিং।
os.LoggerApple SDK।
Sparkleকেবল সরাসরি ডাউনলোড সংস্করণে, অ্যাপ শেলে: স্বাক্ষরিত আপডেট। ইঞ্জিন বা ইন্টারফেসের অংশ নয়।
বাদ দেওয়া
swift-cryptoCryptoKit-এর ক্রস-প্ল্যাটফর্ম যমজ, Apple প্ল্যাটফর্মে প্রয়োজন নেই।
libetpan, MailCoreC মোড়ক; আমরা নিরীক্ষাযোগ্য Swift চাই।
OpenPGP লাইব্রেরিপুরোনো অ্যালগরিদমের বিশাল পরিসরের বদলে আধুনিকতাকে অগ্রাধিকার দেওয়া আমাদের নিজস্ব বাস্তবায়ন।
SwiftData, CoreDataপ্রতি মেইলবক্সে 500,000 বার্তার জন্য তৈরি নয়; তার বদলে সরাসরি SQLite।
তৃতীয় পক্ষের JSON, লগিং, নেটওয়ার্কিংFoundation ও os-ই যথেষ্ট।

ক্রিপ্টো কৌশল

অ্যাসিমেট্রিক ক্রিপ্টোগ্রাফি, AES-GCM, HKDF, SHA-2 ও Curve25519 আসে CryptoKit ও Security.framework থেকে, ব্লক সাইফার আসে CommonCrypto থেকে। যেখানে Apple কোনো প্রিমিটিভ দেয় না, সেখানে FOLD নিজেই তা বাস্তবায়ন করে এবং রেফারেন্স ইমপ্লিমেন্টেশনের সঙ্গে বাইট-বাই-বাইট যাচাই করে: Fortress মোডের জন্য Argon2id ও BLAKE2b, OpenPGP-এর জন্য AES-OCB, SCRAM-এর জন্য PBKDF2। প্রমাণীকরণ ট্যাগ ও SCRAM সার্ভার স্বাক্ষর ধ্রুব সময়ে (constant time) তুলনা করা হয়।

OpenPGP: ডিফল্টে আধুনিক, পুরোনোটা নিয়ন্ত্রণে

দুই ভাগের নীতি। তৈরি করার সময়: Ed25519 স্বাক্ষর ও Curve25519 কী এগ্রিমেন্ট (ECDH) সহ সংস্করণ 4-এর কী, অখণ্ডতা যাচাইসহ AES-256 (MDC-সহ SEIPD v1), SHA-256/512। পড়ার সময় এবং বিদ্যমান প্রাপকদের কাছে লেখার সময়: অতিরিক্তভাবে Security.framework-এ RSA, আর পড়ার ক্ষেত্রে GnuPG-এর OCB মোডও; এনক্রিপ্ট করা ডেটা কেবল বৈধ অখণ্ডতা যাচাই থাকলেই গ্রহণ করা হয়, নইলে বার্তা প্রত্যাখ্যান করা হয় (EFAIL)। এখনো সমর্থিত নয়: RFC 9580-এর সংস্করণ 6-এর কী ও AEAD এনক্রিপশন (SEIPD v2)। স্থায়ীভাবে প্রত্যাখ্যাত: CAST5, IDEA, Blowfish, 3DES, MD5 ও SHA-1 স্বাক্ষর, এবং অখণ্ডতা সুরক্ষা ছাড়া এনক্রিপ্ট করা ডেটা। প্রাইভেট কী S2K-সুরক্ষিত (AES-256) অবস্থায় ডিভাইসের সঙ্গে বাঁধা একটি কীচেইন ভল্টে থাকে। আসল GnuPG-এর সঙ্গে যাচাই করা।

S/MIME

macOS-এ Security.framework-এর CMS ইন্টারফেসের মাধ্যমে, iOS-এ SecKey ও SecTrust-এর ওপর একটি প্ল্যাটফর্ম-নিরপেক্ষ CMS বাস্তবায়নের মাধ্যমে: স্বাক্ষর, যাচাই, এনক্রিপ্ট ও ডিক্রিপ্ট। একটি .p12 পরিচয় ও প্রাপকের সার্টিফিকেট (.cer, .pem, .der) ইমপোর্ট করা যায়, যাচাইকৃত স্বাক্ষরিত মেইল থেকে সার্টিফিকেট সংগ্রহ করা হয়, আস্থার মূল্যায়ন হয় SecTrust-এর মাধ্যমে। কোনো বৈধ স্বাক্ষরের সার্টিফিকেটের ঠিকানা প্রেরকের সঙ্গে না মিললে তা অবিশ্বস্ত হিসেবে দেখানো হয়। iOS-এ প্রাপকের সার্টিফিকেট যাচাইকৃত স্বাক্ষরিত মেইল থেকে সংগ্রহ করা হয়; হাতে ইমপোর্ট পরে আসবে। openssl দিয়ে স্বাক্ষরিত টেস্ট ডেটার সঙ্গে যাচাই করা।

TLS ডিফল্ট

সার্টিফিকেট ও হোস্টনেমের কঠোর যাচাই, এড়িয়ে যাওয়ার কোনো পথ নেই। TLS সংস্করণ Apple প্ল্যাটফর্মের ডিফল্ট অনুসরণ করে। STARTTLS: FOLD সংযোগ করে, আপগ্রেড চায়, এবং সার্ভার প্রত্যাখ্যান করলে বা ব্যর্থ হলে সংযোগ বাতিল করে; আপগ্রেডের আগে বাফারে জমা বাইটকে ম্যান-ইন-দ্য-মিডল হিসেবে গণ্য করে সংযোগ শেষ করা হয়। এনক্রিপশনহীন IMAP ও SMTP সরাসরি প্রত্যাখ্যান করা হয়। প্রতি অ্যাকাউন্টে সার্টিফিকেট পিনিং পরিকল্পিত, এখনো পাওয়া যায় না।

প্রমাণীকরণ

পাসওয়ার্ড ও OAuth টোকেন কেবল কীচেইনে থাকে kSecAttrAccessibleWhenUnlockedThisDeviceOnly সহ, কখনো UserDefaults বা plist-এ নয়। OAuth চলে ASWebAuthenticationSession-এর মাধ্যমে বাধ্যতামূলক PKCE (S256) সহ, একটি পাবলিক ক্লায়েন্ট হিসেবে: বাইনারিতে কোনো ক্লায়েন্ট সিক্রেট নেই, একই সময়ে একাধিক টোকেন নবায়ন একত্র করা হয়। SMTP প্রথমে সার্ভার স্বাক্ষর যাচাইসহ SCRAM-SHA-256 বেছে নেয়, তারপর CRAM-MD5, PLAIN ও LOGIN; OAuth অ্যাকাউন্ট XOAUTH2 ব্যবহার করে। ঐচ্ছিকভাবে, আলাদা সম্মতির পর, IMAP ও SMTP পাসওয়ার্ড এন্ড-টু-এন্ড এনক্রিপ্ট করা iCloud কীচেইনের মাধ্যমে মিরর করা যায়। OAuth টোকেন, Fortress ও PGP-র গোপন তথ্য কখনো ডিভাইস ছাড়ে না।

লগিং নীতি

লগে কোনো ব্যক্তিগত তথ্য, বার্তার কনটেন্ট, বিষয়, ঠিকানা, টোকেন বা কুকি থাকে না, ডিবাগ বিল্ডেও না; লিন্ট নিয়ম এটি বাধ্যতামূলক করে, লঙ্ঘন হলে বিল্ড ব্যর্থ হয়। অনুমোদিত: সংযোগের ঘটনা (হোস্ট, পোর্ট, TLS সংস্করণ, লেটেন্সি), প্রোটোকলের অবস্থা, ত্রুটির শ্রেণি। Mac-এর অ্যাক্টিভিটি উইন্ডো, সিঙ্কের ধাপ ও SMTP ট্রান্সক্রিপ্টসহ, মেমরিতে রাখা হয়, সর্বোচ্চ 300টি এন্ট্রিতে সীমিত এবং কখনো ডিস্কে লেখা হয় না।

স্যান্ডবক্স ও Hardened Runtime

macOS: App Sandbox ও Hardened Runtime। এনটাইটেলমেন্ট: বহির্গামী নেটওয়ার্ক সংযোগ, ব্যবহারকারীর বেছে নেওয়া ফাইল, একটি কীচেইন অ্যাক্সেস গ্রুপ এবং ঐচ্ছিক সিঙ্কের জন্য iCloud কন্টেইনার; আগত সংযোগ নিষ্ক্রিয়। লাইব্রেরি-ভ্যালিডেশন এড়ানোর কোনো ছাড় নেই। iOS: সিস্টেম স্যান্ডবক্স, কীচেইন গ্রুপ ও iCloud কন্টেইনার, কোনো App Groups নেই। সরাসরি ডাউনলোড সংস্করণ, যা এখনো সর্বজনীন নয়, একটিমাত্র ব্যতিক্রম যোগ করে, যাতে এর আপডেটার আপডেট ইনস্টল করতে পারে। বিতরণ হয় macOS-এ Developer ID এবং App Store-এর মাধ্যমে।

Fortress মোড

অ্যাপ্লিকেশন স্তরের এনক্রিপশন, প্রতি অ্যাকাউন্টে ঐচ্ছিকভাবে চালু করা যায়। আপনার পাসফ্রেজ এবং কীচেইনে রাখা একটি 32-বাইট সল্টের ওপর Argon2id (m = 64 MiB, t = 3, p = 4) একটি 256-বিট মাস্টার কী তৈরি করে, যা কেবল মেমরিতে থাকে; প্রতিটি অ্যাকাউন্ট HKDF-SHA-256-এর মাধ্যমে নিজস্ব কী পায়। AES-256-GCM হেডার ডেটাবেসের টেক্সট কলাম ও বার্তার ক্যাশ সিল করে; Fortress অ্যাকাউন্টে পূর্ণ-টেক্সট অনুসন্ধান সীমিত। নিষ্ক্রিয়তার পর স্বয়ংক্রিয় লক কী মুছে দেয়, আর অ্যাপ লক চালু থাকলে অ্যাপ ব্যাকগ্রাউন্ডে গেলেও। Argon2id ও BLAKE2b আমাদের নিজস্ব বাস্তবায়ন, RFC 9106 ও রেফারেন্স টুলের সঙ্গে যাচাই করা।

Fortress যা নয়

OpenPGP বা S/MIME-এর বিকল্প নয়: ওগুলো পথে থাকা মেইল রক্ষা করে, Fortress রক্ষা করে স্থানীয় কপি। আপসকৃত কার্নেল বা অপারেটিং সিস্টেমের বিরুদ্ধে কোনো প্রতিরক্ষা নয়। বেনামি থাকার মোড নয়: IMAP মেটাডেটা তখনো সার্ভারকে জানিয়ে দেয় আপনি কার সঙ্গে চিঠিপত্র আদান-প্রদান করেন।

হুমকি মডেল

প্রতিরক্ষাগুলো MITRE ATT&CK (26টি কৌশল) ও MITRE D3FEND-এর সঙ্গে মিলিয়ে সাজানো। প্রতিটি কৌশলের জন্য FOLD-এর প্রতিকার উল্লেখ করা আছে; ইনপুট প্রক্রিয়াকরণ ও রেন্ডারিংয়ের ক্ষেত্রে (স্পিয়ার-ফিশিং সংযুক্তি, MIME বোমা, পলিগ্লট ফাইল, EFAIL-ধাঁচের তথ্য পাচার) যে টেস্ট সেটি যাচাই করে, সেটিও।

টেস্ট কৌশল

কম্পাইলের সময়েই Swift 6 কঠোর কনকারেন্সি ও ExistentialAny। 2026-09-22 অনুযায়ী 3,000-এর বেশি স্বয়ংক্রিয় টেস্ট। Address, Thread ও Undefined Behavior স্যানিটাইজার প্রতিটি push ও রিলিজের আগে স্থানীয় রিলিজ-গেট হিসেবে চলে; সিদ্ধান্ত অনুযায়ীই কোনো হোস্টেড CI নেই। একটি রিগ্রেশন স্যুট মেইল ক্লায়েন্টের অতীতের CVE আবার চালিয়ে দেখে (EFAIL, BadWinmail, iOS Mail হিপ ওভারফ্লো)। পাঁচটি libFuzzer টার্গেট MIME, এনকোডেড ওয়ার্ড, ঠিকানা, হেডার ব্লক ও CMS কভার করে, আর প্রতিটি টেস্ট রান 3,000টি মিউটেশনসহ কর্পাস আবার চালায়।

সমন্বিত প্রকাশ

কোনো ত্রুটি খুঁজে পেয়েছেন? [email protected]এ লিখুন। আমরা 72 ঘণ্টার মধ্যে প্রাপ্তি নিশ্চিত করি এবং আপনার নাম উল্লেখ করে সংশোধন প্রকাশ করি। PGP কী অনুরোধসাপেক্ষে; যোগাযোগের ঠিকানা /.well-known/security.txt (RFC 9116)-এও প্রকাশিত।

[email protected]