Skip to content

NexusOne23/noid-privacy-linux

πŸ›‘οΈ NoID Privacy for Linux

Hardening Posture Audit for Linux Desktops

License: GPL-3.0 Version Pure Bash Zero Dependencies Checks CI GitHub Stars Last Commit Website

390+ checks Β· 42 sections Β· Pure Bash Β· AI-friendly remediation prompts Optimized for Fedora/RHEL Β· Tested on Ubuntu/Debian Β· Best-effort on Arch/openSUSE/Mint/Pop!_OS

Quick Start Β· What it Checks Β· AI Fixes Β· Comparison Β· Discussions


⚑ Quick Start

curl -fsSL https://github.com/NexusOne23/noid-privacy-linux/raw/main/noid-privacy-linux.sh -o noid-privacy-linux.sh
sudo bash noid-privacy-linux.sh --ai

390+ privacy & security checks. Zero dependencies. The --ai flag generates a ready-to-paste prompt β€” hand it to ChatGPT, Claude, or Gemini to fix every finding automatically.

This tool is read-only. It does not modify your system. No files changed, no configs touched, no services restarted.

πŸͺŸ Running Windows too? NoID Privacy for Windows hardens 630+ settings with full Backup β†’ Apply β†’ Verify β†’ Restore. One-time purchase, no subscription.


🎯 Scope β€” What this IS / NOT

NoID is a hardening posture audit β€” it verifies your defense foundation is properly applied. The score reflects configuration state, not compromise resistance.

βœ… This tool does ❌ This tool does not
Verify hardening recipes are applied Replace an Intrusion Detection System
Detect privacy misconfigurations Scan for active rootkits (use AIDE/IMA/chkrootkit)
Report drift from secure baselines Find vulnerabilities (use OSV/Lynis-CVE)
Generate AI-ready remediation prompts Perform penetration testing (use OpenVAS/Nessus)
Audit 42 desktop-specific surfaces Behavioral / memory-only malware detection

A 98% score means hardening recipes are well-applied β€” not that the system is unhackable. Defense in depth requires complementary layers:

  • Layer 1 βœ… Configuration Hardening (this tool)
  • Layer 2 βž• Integrity Detection (AIDE, IMA, chkrootkit)
  • Layer 3 βž• Behavioral Monitoring (auditd, EDR)

Configuration is the foundation. The other layers detect what hardening cannot prevent.


πŸ€” Why This Exists

Most Linux security tools were built for servers. They check SSH configs and firewall rules β€” but ignore your browser leaking DNS queries, apps phoning home, or the webcam accessible to every process.

NoID Privacy for Linux audits both privacy and security on Linux desktops:

Server Tools (Lynis, CIS) NoID Privacy for Linux
Kernel hardening βœ… βœ…
Firewall & SSH βœ… βœ…
Browser privacy ❌ βœ…
App telemetry ❌ βœ…
DNS leak testing ❌ βœ…
VPN kill-switch ❌ βœ…
Webcam & Bluetooth ❌ βœ…
AI-powered fixes ❌ βœ…

πŸ€– Fix with AI

This is what sets NoID Privacy for Linux apart:

sudo bash noid-privacy-linux.sh --ai

The --ai flag generates a structured prompt at the end of the scan containing all your findings. Copy it. Paste it into ChatGPT, Claude, or Gemini. The AI will explain each finding, provide exact commands to fix it, and prioritize by severity.

Audit β†’ AI β†’ Fixed. What used to take hours takes minutes.

# AI-ready prompt (recommended)
sudo bash noid-privacy-linux.sh --ai

# Plain text for manual review
sudo bash noid-privacy-linux.sh --no-color > report.txt

# Machine-readable JSON for scripts/dashboards
sudo bash noid-privacy-linux.sh --json

No other Linux audit tool generates an AI remediation prompt. The --ai flag is our USP.


πŸ“‹ What it Checks

πŸ›‘οΈ Security (Sections 01–34)

Category Examples
Kernel & Boot Secure Boot, kernel lockdown, LUKS encryption, UEFI, sysctl hardening
Firewall & Network iptables/nftables rules, default policies, open ports, VPN, kill-switch, DNS leaks
SSH & Auth Key-only auth, root login, password aging, PAM, sudo group
Encryption LUKS cipher strength, key size, swap encryption, entropy, certificate store
MAC & Integrity SELinux/AppArmor (auto-detected), rootkit scans, AIDE/Tripwire, package verification
Updates & Packages Security patches, auto-updates, repo integrity, GPG verification (dnf/apt/pacman/zypper)
Advanced Fail2Ban, USB Guard, containers, systemd sandboxing, kernel modules

πŸ”’ Privacy & Desktop (Sections 35–42)

Category Examples
Browser Privacy Firefox telemetry, WebRTC leaks, DNS-over-HTTPS, tracking protection, Chrome warning
App Telemetry GNOME telemetry, crash reporters, Flatpak sandbox escapes, Snap telemetry
Network Privacy MAC randomization, mDNS, LLMNR, hostname privacy, IPv6 privacy extensions
Data Privacy Recent file tracking, thumbnail caches, core dumps, bash history, journald retention
Session Security Screen lock, idle detection, auto-login, lock-on-suspend, VNC/RDP
Webcam & Audio Device permissions, microphone, PipeWire remote access, screen sharing
Bluetooth Discoverability, pairable mode, active without usage
Keyring & Secrets Password manager, GNOME Keyring auto-unlock, SSH agent timeout, plaintext secrets

πŸ“– Full Check Reference β†’ β€” all 42 sections with descriptions


πŸ“Έ Sample Output

$ sudo bash noid-privacy-linux.sh --ai

  NoID Privacy for Linux v3.6.0 β€” Hardening Posture Audit for Linux Desktops
  YYYY-MM-DD HH:MM:SS | mydesktop | 6.19.x-200.fc43.x86_64
  Arch: x86_64 | Distro: Fedora Linux 43 (Workstation Edition)
  Checks: 390+ across 42 sections

━━━ [01/42] KERNEL & BOOT INTEGRITY ━━━
  βœ… PASS  Secure Boot: ENABLED
  βœ… PASS  Kernel Lockdown: integrity
  βœ… PASS  LUKS encryption active

━━━ [05/42] VPN & NETWORK ━━━
  βœ… PASS  VPN interface proton0: active
  βœ… PASS  Default route via VPN
  βœ… PASS  IPv6: disabled/minimal

━━━ [35/42] BROWSER PRIVACY ━━━
  βœ… PASS  Firefox telemetry disabled
  βœ… PASS  WebRTC disabled β€” no IP leak
  ⚠️  WARN  google-chrome installed β€” Google telemetry risk

━━━ SUMMARY ━━━
  Total checks:      460 (298 pass, 0 fail, 5 warn, 157 info)

  Hardening posture is your defense foundation β€” the layer
  attackers must defeat first. Complement with:
    βœ“ AIDE / IMA   β€” file & kernel integrity
    βœ“ auditd       β€” behavioral monitoring
    βœ“ chkrootkit   β€” known-malware scanner

  HARDENING POSTURE SCORE:    98% 🏰 FULLY HARDENED

Score formula: PASSΓ—100 / (PASS + FAILΓ—2 + WARN)
Exit codes:    0 = clean Β· 1 = FAIL present Β· 2 = WARN-only Β· 130/143 = interrupted

βš™οΈ Options

Flag Description
--ai Generate AI-ready fix prompt with all findings
--json Machine-readable JSON output
--no-color Disable colored output (for piping/logging)
--skip SECTION Skip specific sections (repeatable)
--help Show all available options and skip keywords

44 skip keywords available β€” run --help for the full list.


πŸ“Š Comparison

Feature NoID Privacy for Linux Lynis privacy.sexy CIS Benchmark
Focus Privacy + Security for desktops Server compliance Script generator Server compliance
Tests 390+ 480+ N/A varies
Browser privacy βœ… ❌ ⚠️ Partial ❌
App telemetry βœ… ❌ βœ… ❌
DNS / VPN / MAC βœ… ❌ ❌ ❌
Webcam / Bluetooth βœ… ❌ ❌ ❌
AI-ready output βœ… ❌ ❌ ❌
JSON output βœ… βœ… N/A ❌
Kernel & firewall βœ… βœ… ⚠️ Partial βœ…
Zero compiled dependencies βœ… βœ… ❌ ❌
Desktop-focused βœ… ❌ βœ… ❌
Modifies system ❌ ❌ βœ… ❌

Lynis (15k ⭐, since 2007) β€” Gold standard for server compliance. Doesn't cover browser privacy, telemetry, webcams, or desktop-specific concerns.

privacy.sexy (5k ⭐) β€” Script generator for Windows/macOS/Linux. Modifies your system directly without auditing first.


πŸ“₯ Installation

Requirement Details
OS Fedora 39+, Ubuntu 22.04+, Debian 12+, RHEL 9+, Arch Linux, openSUSE, Mint, Pop!_OS
Shell Bash 4+
Privileges Root (sudo) for full system access
Dependencies None
# One-liner
curl -fsSL https://github.com/NexusOne23/noid-privacy-linux/raw/main/noid-privacy-linux.sh -o noid-privacy-linux.sh
sudo bash noid-privacy-linux.sh --ai

# Or clone
git clone https://github.com/NexusOne23/noid-privacy-linux.git
cd noid-privacy-linux
sudo bash noid-privacy-linux.sh --ai

πŸš€ GitHub Action

Use NoID Privacy for Linux in your CI/CD pipeline to enforce privacy & security baselines:

- name: Hardening Posture Audit
  # SECURITY: Pin to specific version, never @main (supply chain risk)
  uses: NexusOne23/noid-privacy-linux@v3.6.0
  id: audit
  with:
    min-score: '70'   # Fail if score < 70%

Inputs

Input Default Description
min-score 0 Minimum score to pass (0 = never fail). Canonical name since v3.5.0.
fail-threshold '' DEPRECATED alias for min-score. Will be removed in v4.0.
ai false Generate AI remediation prompt in summary
skip '' Comma-separated sections to skip
args '' Additional arguments for the script

Outputs

Output Description
score Hardening posture score (0-100)
total Total checks performed
pass / fail / warn / info Check counts by severity
json Full JSON output

Example: Fail PR if score drops

name: Security Gate
on: [pull_request]
jobs:
  audit:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4.2.2
      - uses: NexusOne23/noid-privacy-linux@v3.6.0  # Pin to version, not @main
        with:
          min-score: '70'

Results appear as a rich GitHub Actions Summary with score, findings table, and optional AI fix prompt.

πŸ“– See .github/workflows/example-noid-audit.yml for a full example.


βœ… Perfect For

  • Privacy-conscious developers β€” Know what your desktop is leaking
  • Power users β€” A second pair of eyes on your hardening
  • Team leads β€” Baseline audit for your team's workstations
  • Linux newcomers β€” Clear findings with AI-guided fixes
  • Security consultants β€” Quick desktop audit with professional output

❌ Not For


πŸ”— The NoID Privacy Ecosystem

Platform Link
🌐 Website NoID-Privacy.com β€” All platforms, pricing, and documentation
πŸͺŸ Windows NoID Privacy PRO β€” 630+ settings, 7 modules, Backup β†’ Apply β†’ Verify β†’ Restore
🐧 Linux You're here!
πŸ“± Android NoID Privacy on Google Play β€” 81 checks, 10 categories, permission audit, Chrome hardening, anti-theft

πŸ”’ Privacy Promise

No telemetry, no analytics, no phone-home. This tool does not collect or transmit any data about you or your system. One file, pure Bash β€” read every line yourself.

⚠️ Default-mode network requests: Three sections issue requests to third parties to test for connectivity/DNS/VPN leaks:

  • Section 5 (vpn): curl detectportal.firefox.com (Mozilla), curl ifconfig.me (Cloudflare-fronted)
  • Section 5 (netleaks): dig whoami.akamai.net (Akamai)
  • Section 22 (interfaces): dig google.com (Google)

For a fully offline audit that makes zero outbound requests, use:

sudo bash noid-privacy-linux.sh --skip vpn --skip interfaces --skip netleaks

The leak tests themselves require these third-party endpoints to function β€” there's no way to test "does my IP leak?" without contacting an external service.


πŸ”§ Troubleshooting

Issue Solution
Requires root error Run with sudo bash noid-privacy-linux.sh
False positive on a check Open an issue with your distro and the finding
DNS leak test fails/hangs Skip it: --skip netleaks. Requires dig and curl.
Score seems too low Check if --skip sections are relevant to your setup. Desktop-only checks may warn on servers.
Script hangs on Bluetooth Known bluetoothctl timeout issue. Skip: --skip btprivacy
Missing checks for my distro Fedora/RHEL, Ubuntu/Debian, Arch, and openSUSE are fully supported. Other distros may show more info results.

🀝 Contributing

Contributions welcome β€” new checks, bug fixes, distro support.


πŸ“œ License

GPL v3.0 β€” Free for personal and commercial use. Derivatives must also be GPL v3.0.

For commercial licensing without GPL requirements, open a Discussion.

Full License β†’


⭐ Star this repo if it's useful β€” helps others find the project.

NoID Privacy for Linux β€” Know your system. Harden your privacy.

Packages

 
 
 

Contributors

Languages