An installable amnesic NixOS desktop system with a live ISO, graphical installer, encrypted persistence, and Tor as the default network mode.
NAILS OS is a privacy-oriented NixOS distribution delivered as a bootable live ISO with a graphical installer. It installs an amnesic desktop system that runs from RAM, keeps most persistent state on encrypted storage, and defaults to Tor-routed networking. In UEFI mode, boot files still live on a small unencrypted EFI system partition.
The project is built with Nix for auditability and reproducibility. Its security and privacy claims are bounded by the documented threat model, the selected install mode, and the way the system is operated.
NAILS OS and NAILS are related but distinct projects:
- NAILS OS is the installable NixOS distribution in this repository: live ISO, graphical installer, amnesic desktop defaults, encrypted persistence, and network-mode choices.
- NAILS is a separate NixOS-only CLI for layering a hidden environment over a believable decoy system.
NAILS OS does not replace the NAILS CLI workflow, and NAILS does not replace this operating system distribution. Use the repository that matches the system model you actually want.
- Amnesic root filesystem —
/is tmpfs and is wiped on shutdown. - Mandatory encrypted system volume — the installer does not offer unencrypted installs; UEFI still requires a small unencrypted EFI system partition.
- Tor by default — Tor mode transparently proxies TCP through Tor and forces DNS through Tor.
- Direct mode available — you can opt out of Tor during installation if you need ordinary clearnet routing.
- Selective persistence by default — documents and selected secrets persist; browser profiles, caches, and several activity metadata stores do not.
- Shell history disabled by default — you can opt in during installation.
- Fixed account naming — the installed username is always
amnesiaand the display name isAmnesia; you choose the password during installation. - Public build artifacts — published release entries include checksums and build metadata; some releases may also provide GitHub attestation verification for
checksums.txt.
Additional safeguards include AppArmor, disabled IPv6, MAC address randomization, no swap, and a curated desktop app set focused on privacy and everyday use.
Warning
NAILS OS is alpha security software. Test your exact hardware, boot mode, network mode, and persistence choices before relying on it.
-
GitHub Releases currently publish automated prerelease ISO builds from
main. -
Maintainers can also cut tagged releases for specific versions; that is separate from the rolling prerelease stream.
-
There is no separate LTS or backport-supported stable maintenance line yet.
-
Interfaces, installer choices, and operational guidance may still change between alpha releases.
-
Security claims are bounded by the documented threat model and by the checks you perform on your own setup.
-
Architecture: x86_64
-
Boot modes: UEFI and legacy BIOS
-
Desktop: GNOME
-
Recommended boot mode: UEFI
If you are evaluating NAILS OS, try it in a VM first:
- Download the latest published prerelease ISO.
- Boot it in a UEFI VM with at least 4 GB RAM.
- Install with the defaults unless you have a specific reason to change them.
- Review the persistence and boot notes below before using real hardware.
NAILS OS is intended to reduce risk from:
- forensic recovery of ordinary system state after shutdown
- local data persistence on shared or borrowed hardware
- network observers when the system is installed in Tor mode
- some censorship environments, using bundled Tor pluggable transports in Tor mode
NAILS OS does not claim to protect against:
- compromised firmware or malicious hardware
- physical tampering of a powered-off machine
- verified-boot / measured-boot attacks (not currently configured)
- Tor correlation attacks or exit-node observation
- user deanonymization through account use or operational mistakes
- network exposure in Direct mode
Important
Tor-related protections described in this README apply only when the system is installed in Tor mode. If you choose Direct mode, your traffic uses the clearnet and your IP address is visible.
For BIOS-specific boot-chain limitations, see docs/BIOS-SECURITY.md.
The graphical installer currently exposes these choices:
| Step | What you choose |
|---|---|
| Locale / timezone | Regional settings |
| Keyboard | Layout and variant |
| Partitioning | Target disk; encryption is required |
| Password + hostname | Password for the fixed username amnesia (you choose it during installation) and system hostname |
| Network routing | Tor (default) or Direct |
| Shell history | Disabled (default) or enabled |
| Home persistence | Selective (default) or full home persistence |
The installer does not expose a bridge toggle. In Tor mode, the built-in defaults remain in effect.
| Boot mode | Partitioning and encryption |
|---|---|
| UEFI | GPT + separate FAT32 EFI system partition + LUKS2 encrypted system volume |
| BIOS / Legacy | MBR + single LUKS1 encrypted system volume; /boot lives inside that encrypted volume |
Important behavior differences:
- An encrypted system volume is mandatory in both modes.
- UEFI uses a separate unencrypted EFI system partition plus an encrypted system volume.
- BIOS uses GRUB-compatible LUKS1, keeps
/bootencrypted inside the system volume, and prompts for the passphrase twice at boot.
For the full rationale and limitations, see docs/BIOS-SECURITY.md.
Tor mode keeps the built-in network defaults:
- transparent proxying for TCP traffic
- DNS forced through Tor
- bundled obfs4 and Snowflake bridges enabled by default
- Unsafe Browser available for captive-portal login
This is the mode NAILS OS is primarily designed around.
If you choose Direct mode during installation, the installer writes network-mode.nix, which:
- disables Tor
- uses Quad9 DNS (
9.9.9.9,149.112.112.112) - re-enables normal NetworkManager DNS handling
Direct mode is faster and simpler, but it removes Tor-routing protections.
/→ tmpfs/persist→ encrypted ext4/nix→ bind-mounted from/persist/nix- on BIOS installs,
/boot→ bind-mounted from/persist/boot
By default, NAILS OS uses selective persistence. It persists system configuration plus these user locations:
DocumentsDownloadsMusicPicturesVideosDesktop~/.config/dconf~/.local/share/keyrings~/.ssh~/.gnupg
These are intentionally left on tmpfs and wiped on reboot:
- full browser profiles and browser session state
~/.cache/~/.local/share/recently-used.xbel~/.local/share/gvfs-metadata/~/.local/share/tracker3/~/.local/share/zeitgeist/
If you choose full home persistence, the installer writes home-persistence-mode.nix and persists all of /home/amnesia instead.
Shell history is disabled by default. If you opt in, the installer writes shell-history-mode.nix to restore normal shell history behavior for interactive shells.
Under the default selective persistence mode, shell history files still do not survive reboot because they are not part of the persisted home set. Cross-reboot shell history requires full home persistence.
Download releases from the canonical GitHub Releases page.
Current GitHub Releases include automated prerelease ISO publications from main. Tagged releases may also be published for specific versions, so use the newest supported release that matches what you are trying to evaluate or reproduce.
Release notes link to the ISO hosted on Cloudflare R2 and include:
checksums.txtbuild-metadata.json- source archives
Verify integrity after downloading:
sha256sum -c checksums.txtFor public releases, you can also verify the GitHub attestation for checksums.txt:
gh attestation verify checksums.txt --repo WitteShadovv/nails-osFor current SBOM, dependency, and vulnerability workflow documentation, start at docs/security/index.md. Private vulnerability reporting and disclosure policy remain in SECURITY.md.
| Document | Purpose |
|---|---|
docs/ARCHITECTURE.md |
Technical system design and installer behavior |
docs/BIOS-SECURITY.md |
BIOS / legacy boot limitations and rationale |
docs/security/index.md |
Canonical hub for SBOM, dependency hygiene, and vulnerability workflow docs |
SECURITY.md |
Private vulnerability reporting and disclosure policy |
SUPPORT.md |
Bug reports, feature requests, and support routing |
CONTRIBUTING.md |
Contributor entry point |
docs/CONTRIBUTING.md |
Full contributor workflow and local commands |
docs/CI-OPERATIONS.md |
Maintainer CI / release / publication operations |
NAILS OS is actively maintained and currently released as alpha software.
- GitHub Releases currently publish rolling prerelease ISO builds from
main; tagged releases may also be published for specific versions. - Installer behavior, persistence defaults, and operator guidance may still change between alpha releases.
- Use it only after testing your exact hardware, boot mode, network mode, and recovery procedure.
- Security claims are bounded by the documented threat model and by the checks you perform on your own setup.
- Contributors should start with
CONTRIBUTING.mdanddocs/CONTRIBUTING.md. - Maintainers handling releases or infrastructure should use
docs/CI-OPERATIONS.md.
NAILS OS has been developed with AI-assisted tooling for drafting code, tests, and documentation. All security-relevant design decisions, code changes, and published documentation remain the responsibility of the maintainer and are intended to be reviewed and validated before release.
NAILS OS is licensed under the GNU General Public License v3.0. See LICENSE.
Caution
This software is provided for educational, testing, and security research purposes. It comes with no warranty, and it should not be treated as a guarantee of anonymity, amnesia, or forensic resistance in any specific threat environment.
Maintained by WitteShadovv.
