{{Header}}
{{title|title=
Design
}}
{{#seo:
|description=Technical Design and Conception of {{project_name_long}}
|image=Magic-cube-378543640.jpg
}}
{{tech_intro_mininav}}
[[File:Magic-cube-378543640.jpg|thumb]]
{{intro|
Technical Design and Conception of {{project_name_short}}
}}
= Technical Design =
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
<small>
* [[Dev/Strong_Linux_User_Account_Isolation|Strong Linux User Account Isolation]]
* [[Dev/About Computer (In)Security]]
* [[Dev/VirtualBox|VirtualBox]]
* [[Dev/Qubes|Qubes]]
* [[Dev/Entropy]]
* [[Security Reviews and Feedback|Security Reviews and Feedback, Press, Media]]
* [[Dev/Derivative-Maker|Derivative-Maker - Debian based Linux Bootable Image Builder]]
* [[Build_Configuration|Build Configuration]]
* [[Dev/Expected Build Warnings]]
* [[Dev/Relationship With Upstream]]
* [[Dev/About Infrastructure]]
* [[Trust|Trusting {{project_name_short}}]]
* [[Dev/Secure_Boot|Secure Boot]]
* [[Verified Boot]] (Secure Boot)
* [[Dev/Stateless|Factory Reset, Stateless Systems, Reproducible Systems, Verifiable Systems, Clear Linux, NixOS, Fedora Silverblue]]
* [[Dev/bootstrappable_builds|bootstrappable builds]]
* [[Dev/Automatic Updates|Automatic Updates (APT) - to Use or Not Use Them]]
* [[Dev/apt-revoker|Dev/apt-revoker]]
* [[Dev/APT|APT Signing Key Folders]]
* [[Dev/Automatic Updates|Package Manager Graphical, One Click Update Script - Simplified, Assisted Updates]]
* [[Dev/About Debian Packaging|About Debian Packaging]]
** [[Dev/About Debian Packaging#Analyzing Dependency Chains|Analyzing Dependency Chains]]
** [[Dev/About Debian Packaging#Recommends vs Depends|<code>Recommends:</code> vs <code>Depends</code> (<code>--no-install-recommends</code>)]]
** [[Dev/About Debian Packaging#Files in Home Folder|ought to avoid writing into linux user <code>/home</code> folder]]
** [[Dev/About Debian Packaging#Files in /etc/skel|Files in <code>/etc/skel</code>]]
** [[Dev/About_Debian_Packaging#Modifying_Default_Configuration_of_Third_Party_Packages|Modifying Default Configuration of Third Party Packages]]
* [[Dev/Versioning Format Conventions|Versioning Format Conventions for packages developed under the {{project_name_short}} hat]]
* [[Stable Version User Experience]]
* [[Dev/Stable_vs_Rolling_Distributions|Stable vs Rolling Distributions - Development Considerations]]
* [[Dev/maintainability|maintainability]]
* [[Privacy|Privacy Goals and Non-Goals]]
* [[Dev/coding_style|Coding Style]]
* [[Dev/RAM_Wipe|RAM Wipe, cryptsetup suspend]]
* [[Dev/nonfree|non-freedom (nonfree), proprietary, closed source firmware, CPU microcode and drivers]]
* [[Dev/filesystem|filesystem <code>ext4</code>, <code>btrfs</code>, <code>zfs</code>]]
* [[Dev/image_formats|image formats: <code>.iso</code>, <code>.img</code>, <code>.raw</code>]]
</small>
</div>
<br />

= Future Technical Design =

<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
<small>
* [[Security Roadmap]]
* [[Dev/Permanent Takedown Attack Defender|Permanent Takedown Attack Defender, proposal to defend a permanent takedown threat]]
* [[Dev/project-news|Project / Emergency News]]
* [https://phabricator.whonix.org/T140 apt revoker]
* [[Dev/remount-secure]] - Secure Mount Options
* [[Dev/reviewer|Proposal: Base Distribution Developers = Derivative Developers]]
* [[Dev/confidential_computing|Confidential Computing, Secure Cloud, Encrypted RAM, Remote Attestation]]
* [[Vm-app-manager|vm-app-manager - Virtualization-powered application sandbox]]
</small>
</div>

= General Developer Pages =

<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
<small>
* [[Dev/Developer_Portal|Developer Portal]]
* [[Dev/todo|ToDo for Developers]]
* [[Dev/todo/archived|Archived Todo]]
* [[Progress_Reports|Progress Reports]]
* [[First_Time_Source_Code_Contributor_Policy|First-Time Source Code Contributor Policy]]
* [[Dev/sdwdate|sdwdate Development Notes]]
* [[Dev/image_creation|Development of System Image Creation and Bootstrapping Tools]]
* [[Dev/git|Git branches]]
* [[Dev/repository|Debian APT Repository on the Blockchain?]]
* [[Dev/APT Repository|APT Repository ({{project_name_short}} Debian Package Maintenance) (.deb), reprepro]]
* [[Hosting a Mirror|Hosting a {{project_name_short}} Mirror]]
* [[Dev/APT_Pinning|Why we should avoid APT Pinning / preferences / backports by default]]
* [[BackupScript|{{project_clearnet}} backup script, to make a backup of most {{project_clearnet}} content]]
* [[Dev/Split_GPG|Qubes Split GPG]]
* [[Dev/Firewall_Refactoring|Firewall Refactoring]]
* [[Dev/Firejail|Firejail]]
* [[Dev/Special Keys|Host Keys in various Virtualizers / special keys]]
* [[Dev/Ledger_Hardware_Wallet|Ledger Hardware Wallet Development Notes]]
* [[AEM]] - anti evil maid
* [[Mobile_Operating_System_Comparison|Mobile Operating System Comparison]]
* [[Non_Anonymous_Onion_Encryption_and_NAT_Traversal|Non Anonymous NAT Traversal]]
* [[Dev/Licensing]]
* [[Dev/bash|bash script security, proper whitespace handling, use of end of options parameter]]
* [[Dev/certification|certification / audit]]
** [https://forums.whonix.org/t/run-openscap-security-test/9080 OpenSCAP]
** [https://forums.whonix.org/t/lynis-security-auditing-tool-for-unix-based-systems/7633 lynis]
** [https://forums.whonix.org/t/harbian-audit-hardened-debian-gnu-linux-distro-auditing/8513 harbian-audit - Hardened Debian GNU/Linux distro auditing]
* Windows 10 Issues collection
** https://forums.whonix.org/t/gateway-startup-error-not-syncing-no-working-init-found/9481/11
* [[Dev/Warrant Canary Draft|Warrant Canary Draft]]
* [[Dev/VirusForget|VirusForget - deactivate malware after reboot from non-root compromise]]
* [[Boot Clock Randomization]]
* [[Dev/user-sysmaint-split|user-sysmaint-split - Role-Based Boot Modes (user versus sysmaint) for Enhanced Security]]
* [[Dev/boot|Boot Process Related Development Notes]]
* [[Dev/Open_Source_Business_Models|Open Source Business Models]]
* [[Donation systray]]
* [[systemd|systemd dependency cycles]]
* [[seccomp]]
* [[Dev/audio|audio, ALSA, PulseAudio, PipeWire]]
* [[Dev/Debian]]
* [[Dev/secureblue|Comparison of secureblue with Kicksecure and Development Notes]]
* [[Dev/Chromium|Dev/Chromium]]
* [[Dev/Metapackages]]
* [[Dev/flatpak|Dev/flatpak]]
* [[Dev/videos|Dev/videos]]
* [[Dev/Default_Application_Policy|{{project_name_short}} Default Application Policy]]

archived:

* [[Dev/Password_Manager|Comparing Password Managers, finding out best choice as default installed one]]
* [[Dev/grsecurity|grsecurity]]
* [[Dev/yubikey]]
* [[Dev/Astra Linux]]
* [[Dev/GNOME]]
* [[Dev/KDE]]
* [[Dev/openSUSE]]
* [[Dev/systemcheck|Dev/systemcheck]]
</small>
</div>
<br />

= Website Developer Pages =
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
<small>
* [[Dev/mediawiki|MediaWiki Developer Notes]]
* [[Dev/CSS]]
* [[Dev/website|Website Enhancements Planning]]
* [[Dev/wiki|Wiki Editor Documentation]]
* [[Dev/wiki_todo|Wiki Editor Todo]]
* [[TestpageForFlyInNotification|Kicksecure Website FlyInNotification Test Page]]
* [[Dev/wikitest|Wiki Test Page]]
* [[PerformanceTests|Wiki Performance Tests]]
* [[Dev/discourse|Documentation for Kicksecure Discourse Devs]]
* [[Dev/Documentation Guidelines|Documentation Guidelines]]
* [[Dev/Documentation Markup Format Converters|Documentation Markup Format Converters]]
* [[Dev/OpenPGP Signed Website|OpenPGP Signed Website]]
* [[Transparency|guidelines for advertising on {{project_clearnet}}; Affiliate Conditions (VPN etc.)]]
* [https://archive.readme.io/docs/creating-a-snapshot web.archive.org snapshot using command line interface (CLI)]
* [[Privacy Policy Technical Details|Privacy Policy Technical Details of the {{project_name_short}} Website]]
* [[Dev/SSL Certificate Pinning|Technical Design Documentation about SSL Certificate Pinning]]
</small>
</div>
<br />

{{Anchor|Download}}

= Download / Installation - Developer Pages =

<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
<small>

* [[Download_Security|Download Security]]
* [[Software_Signature_Verification_Usability_Issues_and_Proposed_Solutions|Software Verification (OpenPGP / gpg) Usability Issues / Secure Downloader to Download {{project_name_short}} Images]]
</small>
</div>
<br />

= Other Related =
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
<small>
* [[Documentation|Documentation]]
* [[Dev/Build Documentation|Build Documentation, How to build {{project_name_short}} from Source Code, How to update {{project_name_short}} from Source Code]]
* [https://github.com/{{project_name_short}}/derivative-maker {{project_name_short}} Source Code]
* [https://github.com/{{project_name_short}}/developer-meta-files/blob/master/usr/bin/dm-prepare-release {{project_name_short}} Developer Meta Files, Scripts for managing the {{project_name_short}} GNU/Linux Distribution]
* [[Dev/Maintenance|Maintenance, The Tor Project (TPO) apt repository package mirroring to whonix.org repository, Tor Browser hardcoded version file]]
* [[Dev/Redistribution#Pre_Building|Redistribution Pre Building]] (Only required if you want to redistribute (official) {{project_name_short}} release builds.)
* [[Dev/Redistribution#Post_Building|Redistribution Post Building]] (Only required if you want to redistribute (official) {{project_name_short}} release builds.)
* Network Manager <code>nmcli</code> https://github.com/pop-os/pop/issues/2904
* [[Dev/Donate|Organizational Donation Considerations]]
* [[Deprecated]]
</small>
</div>
<br />

= Other Unrelated =

<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
<small>
* [[Credits#License|Citation, backup of website content license grants]]
* [[Edge|Edge Security Model (Android Wallet)]]
</small>
</div>
<br />

= Just Listing =

<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
<small>
* [https://github.com/{{project_name_short}}/derivative-maker/blob/master/COPYING AGPL-3+]
</small>
</div>

= TODO =
* https://forums.whonix.org/tag/status_open_issue_todo
* https://packages.debian.org/{{Stable project version based on Debian codename}}/tiger
* https://packages.debian.org/{{Stable project version based on Debian codename}}/tiger-otheros

[[Category:Design]]

{{Footer}}