Merge f334a8843df5694bcad1d75d1fc864eb7ef4216e into 2703d466142f07479ff6faff6f13c3299519a05f

This commit is contained in:
redoomed1 2025-03-24 01:00:23 +00:00 committed by GitHub
commit 7d01eb61a5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 42 additions and 36 deletions

View File

@ -11,7 +11,7 @@ cover: ai-chatbots.webp
- [:material-account-cash: Surveillance Capitalism](basics/common-threats.md#surveillance-as-a-business-model){ .pg-brown }
- [:material-close-outline: Censorship](basics/common-threats.md#avoiding-censorship){ .pg-blue-gray }
Since the release of ChatGPT in 2022, interactions with Large Language Models (LLMs) have become increasingly common. LLMs can help us write better, understand unfamiliar subjects, or answer a wide range of questions. They can statistically predict the next word based on a vast amount of data scraped from the web.
Since the release of ChatGPT in 2022, the use of **AI chat**, also known as Large Language Models (LLMs), have become increasingly common. LLMs can help us write better, understand unfamiliar subjects, or answer a wide range of questions. They can statistically predict the next word based on a vast amount of data scraped from the web.
## Privacy Concerns About LLMs
@ -41,7 +41,7 @@ To run AI locally, you need both an AI model and an AI client.
### Choosing a Model
There are many permissively licensed models available to download. [Hugging Face](https://huggingface.co/models) is a platform that lets you browse, research, and download models in common formats like [GGUF](https://huggingface.co/docs/hub/en/gguf). Companies that provide good open-weights models include big names like Mistral, Meta, Microsoft, and Google. However, there are also many community models and 'fine-tunes' available. As mentioned above, quantized models offer the best balance between model quality and performance for those using consumer-grade hardware.
There are many permissively licensed models available to download. [Hugging Face](https://huggingface.co/models) is a platform that lets you browse, research, and download models in common formats like [GGUF](https://huggingface.co/docs/hub/en/gguf). Companies that provide good open-weights models include big names like Mistral, Meta, Microsoft, and Google. However, there are also many community models and [fine-tuned](https://en.wikipedia.org/wiki/Fine-tuning_(deep_learning)) models available. As mentioned above, quantized models offer the best balance between model quality and performance for those using consumer-grade hardware.
To help you choose a model that fits your needs, you can look at leaderboards and benchmarks. The most widely-used leaderboard is the community-driven [LM Arena](https://lmarena.ai). Additionally, the [OpenLLM Leaderboard](https://huggingface.co/spaces/open-llm-leaderboard/open_llm_leaderboard) focuses on the performance of open-weights models on common benchmarks like [MMLU-Pro](https://arxiv.org/abs/2406.01574). There are also specialized benchmarks which measure factors like [emotional intelligence](https://eqbench.com), ["uncensored general intelligence"](https://huggingface.co/spaces/DontPlanToEnd/UGI-Leaderboard), and [many others](https://www.nebuly.com/blog/llm-leaderboards).
@ -62,7 +62,7 @@ To help you choose a model that fits your needs, you can look at leaderboards an
![Kobold.cpp Logo](assets/img/ai-chat/kobold.png){align=right}
Kobold.cpp is an AI client that runs locally on your Windows, Mac, or Linux computer. It's an excellent choice if you are looking for heavy customization and tweaking, such as for role-playing purposes.
**Kobold.cpp** is an AI client that runs locally on your Windows, Mac, or Linux computer. It's an excellent choice if you are looking for heavy customization and tweaking, such as for role-playing purposes.
In addition to supporting a large range of text models, Kobold.cpp also supports image generators such as [Stable Diffusion](https://stability.ai/stable-image) and automatic speech recognition tools such as [Whisper](https://github.com/ggerganov/whisper.cpp).
@ -82,7 +82,7 @@ In addition to supporting a large range of text models, Kobold.cpp also supports
</div>
<div class="admonition note" markdown>
<div class="admonition info" markdown>
<p class="admonition-title">Compatibility Issues</p>
Kobold.cpp might not run on computers without AVX/AVX2 support.
@ -97,7 +97,7 @@ Kobold.cpp allows you to modify parameters such as the AI model temperature and
![Ollama Logo](assets/img/ai-chat/ollama.png){align=right}
Ollama is a command-line AI assistant that is available on macOS, Linux, and Windows. Ollama is a great choice if you're looking for an AI client that's easy-to-use, widely compatible, and fast due to its use of inference and other techniques. It also doesn't involve any manual setup.
**Ollama** is a command-line AI assistant that is available on macOS, Linux, and Windows. Ollama is a great choice if you're looking for an AI client that's easy-to-use, widely compatible, and fast due to its use of inference and other techniques. It also doesn't involve any manual setup.
In addition to supporting a wide range of text models, Ollama also supports [LLaVA](https://github.com/haotian-liu/LLaVA) models and has experimental support for Meta's [Llama vision capabilities](https://huggingface.co/blog/llama32#what-is-llama-32-vision).
@ -125,7 +125,7 @@ Ollama simplifies the process of setting up a local AI chat by downloading the A
![Llamafile Logo](assets/img/ai-chat/llamafile.svg){align=right}
Llamafile is a lightweight single-file executable that allows users to run LLMs locally on their own computers without any setup involved. It is [backed by Mozilla](https://hacks.mozilla.org/2023/11/introducing-llamafile) and available on Linux, macOS, and Windows.
**Llamafile** is a lightweight, single-file executable that allows users to run LLMs locally on their own computers without any setup involved. It is [backed by Mozilla](https://hacks.mozilla.org/2023/11/introducing-llamafile) and available on Linux, macOS, and Windows.
Llamafile also supports LLaVA. However, it doesn't support speech recognition or image generation.
@ -137,7 +137,9 @@ Llamafile also supports LLaVA. However, it doesn't support speech recognition or
<details class="downloads" markdown>
<summary>Downloads</summary>
- [:fontawesome-solid-desktop: Desktop](https://github.com/Mozilla-Ocho/llamafile#quickstart)
- [:fontawesome-brands-windows: Windows](https://github.com/Mozilla-Ocho/llamafile#quickstart)
- [:simple-apple: macOS](https://github.com/Mozilla-Ocho/llamafile#quickstart)
- [:simple-linux: Linux](https://github.com/Mozilla-Ocho/llamafile#quickstart)
</details>
@ -170,11 +172,11 @@ Please note we are not affiliated with any of the projects we recommend. In addi
### Minimum Requirements
- Must be open-source.
- Must be open source.
- Must not transmit personal data, including chat data.
- Must be multi-platform.
- Must not require a GPU.
- Must support GPU-powered fast inference.
- Must support GPU-powered, fast inference.
- Must not require an internet connection.
### Best-Case
@ -185,4 +187,11 @@ Our best-case criteria represent what we *would* like to see from the perfect pr
- Should have a built-in model downloader option.
- The user should be able to modify the LLM parameters, such as its system prompt or temperature.
*[LLaVA]: Large Language and Vision Assistant (multimodal AI model)
*[LLM]: Large Language Model (AI model such as ChatGPT)
*[LLMs]: Large Language Models (AI models such as ChatGPT)
*[open-weights models]: AI models that anyone can download and use, but the underlying training data and/or algorithms for them are proprietary.
*[system prompt]: The general instructions given by a human to guide how an AI chat should operate.
*[temperature]: A parameter used in AI models to control the level of randomness and creativity in the generated text.
[^1]: A file checksum is a type of anti-tampering fingerprint. A developer usually provides a checksum in a text file that can be downloaded separately, or on the download page itself. Verifying that the checksum of the file you downloaded matches the one provided by the developer helps ensure that the file is genuine and wasn't tampered with in transit. You can use commands like `sha256sum` on Linux and macOS, or `certutil -hashfile file SHA256` on Windows to generate the downloaded file's checksum.

View File

@ -19,7 +19,7 @@ Even if you use OpenPGP, it does not support [forward secrecy](https://en.wikipe
## What is the Web Key Directory standard?
The Web Key Directory (WKD) standard allows email clients to discover the OpenPGP key for other mailboxes, even those hosted on a different provider. Email clients which support WKD will ask the recipient's server for a key based on the email address' domain name. For example, if you emailed `jonah@privacyguides.org`, your email client would ask `privacyguides.org` for Jonah's OpenPGP key, and if `privacyguides.org` has a key for that account, your message would be automatically encrypted.
The [Web Key Directory (WKD)](https://wiki.gnupg.org/WKD) standard allows email clients to discover the OpenPGP key for other mailboxes, even those hosted on a different provider. Email clients which support WKD will ask the recipient's server for a key based on the email address' domain name. For example, if you emailed `jonah@privacyguides.org`, your email client would ask `privacyguides.org` for Jonah's OpenPGP key, and if `privacyguides.org` has a key for that account, your message would be automatically encrypted.
In addition to the [email clients we recommend](../email-clients.md) which support WKD, some webmail providers also support WKD. Whether *your own* key is published to WKD for others to use depends on your domain configuration. If you use an [email provider](../email.md#openpgp-compatible-services) which supports WKD, such as Proton Mail or Mailbox.org, they can publish your OpenPGP key on their domain for you.

View File

@ -31,7 +31,7 @@ In addition to (or instead of) an email provider recommended here, you may wish
## OpenPGP Compatible Services
These providers natively support OpenPGP encryption/decryption and the [Web Key Directory standard](basics/email-security.md#what-is-the-web-key-directory-standard), allowing for provider-agnostic E2EE emails. For example, a Proton Mail user could send an E2EE message to a Mailbox.org user, or you could receive OpenPGP-encrypted notifications from internet services which support it.
These providers natively support OpenPGP encryption/decryption and the [Web Key Directory (WKD) standard](basics/email-security.md#what-is-the-web-key-directory-standard), allowing for provider-agnostic E2EE emails. For example, a Proton Mail user could send an E2EE message to a Mailbox.org user, or you could receive OpenPGP-encrypted notifications from internet services which support it.
<div class="grid cards" markdown>
@ -104,7 +104,7 @@ Certain information stored in [Proton Contacts](https://proton.me/support/proton
#### :material-check:{ .pg-green } Email Encryption
Proton Mail has [integrated OpenPGP encryption](https://proton.me/support/how-to-use-pgp) in their webmail. Emails to other Proton Mail accounts are encrypted automatically, and encryption to non-Proton Mail addresses with an OpenPGP key can be enabled easily in your account settings. Proton also supports automatic external key discovery with [Web Key Directory (WKD)](https://wiki.gnupg.org/WKD). This means that emails sent to other providers which use WKD will be automatically encrypted with OpenPGP as well, without the need to manually exchange public PGP keys with your contacts. They also allow you to [encrypt messages to non-Proton Mail addresses without OpenPGP](https://proton.me/support/password-protected-emails), without the need for them to sign up for a Proton Mail account.
Proton Mail has [integrated OpenPGP encryption](https://proton.me/support/how-to-use-pgp) in their webmail. Emails to other Proton Mail accounts are encrypted automatically, and encryption to non-Proton Mail addresses with an OpenPGP key can be enabled easily in your account settings. Proton also supports automatic external key discovery with WKD. This means that emails sent to other providers which use WKD will be automatically encrypted with OpenPGP as well, without the need to manually exchange public PGP keys with your contacts. They also allow you to [encrypt messages to non-Proton Mail addresses without OpenPGP](https://proton.me/support/password-protected-emails), without the need for them to sign up for a Proton Mail account.
Proton Mail also publishes the public keys of Proton accounts via HTTP from their WKD. This allows people who don't use Proton Mail to find the OpenPGP keys of Proton Mail accounts easily, for cross-provider E2EE. This only applies to email addresses ending in one of Proton's own domains, like @proton.me. If you use a custom domain, you must [configure WKD](./basics/email-security.md#what-is-the-web-key-directory-standard) separately.
@ -161,7 +161,7 @@ However, [Open-Exchange](https://en.wikipedia.org/wiki/Open-Xchange), the softwa
Mailbox.org has [integrated encryption](https://kb.mailbox.org/en/private/e-mail-article/send-encrypted-e-mails-with-guard) in their webmail, which simplifies sending messages to people with public OpenPGP keys. They also allow [remote recipients to decrypt an email](https://kb.mailbox.org/en/private/e-mail-article/my-recipient-does-not-use-pgp) on Mailbox.org's servers. This feature is useful when the remote recipient does not have OpenPGP and cannot decrypt a copy of the email in their own mailbox.
Mailbox.org also supports the discovery of public keys via HTTP from their [Web Key Directory (WKD)](https://wiki.gnupg.org/WKD). This allows people outside of Mailbox.org to find the OpenPGP keys of Mailbox.org accounts easily, for cross-provider E2EE. This only applies to email addresses ending in one of Mailbox.org's own domains, like @mailbox.org. If you use a custom domain, you must [configure WKD](./basics/email-security.md#what-is-the-web-key-directory-standard) separately.
Mailbox.org also supports the discovery of public keys via HTTP from their WKD. This allows people outside of Mailbox.org to find the OpenPGP keys of Mailbox.org accounts easily, for cross-provider E2EE. This only applies to email addresses ending in one of Mailbox.org's own domains, like @mailbox.org. If you use a custom domain, you must [configure WKD](./basics/email-security.md#what-is-the-web-key-directory-standard) separately.
#### :material-information-outline:{ .pg-blue } Account Termination
@ -321,7 +321,7 @@ We regard these features as important in order to provide a safe and optimal ser
- Encrypts all account data (Contacts, Calendars, etc.) at rest with zero-access encryption.
- Integrated webmail E2EE/PGP encryption provided as a convenience.
- Support for [WKD](https://wiki.gnupg.org/WKD) to allow improved discovery of public OpenPGP keys via HTTP.
- Support for WKD to allow improved discovery of public OpenPGP keys via HTTP.
GnuPG users can get a key by typing: `gpg --locate-key example_user@example.com`
- Support for a temporary mailbox for external users. This is useful when you want to send an encrypted email, without sending an actual copy to your recipient. These emails usually have a limited lifespan and then are automatically deleted. They also don't require the recipient to configure any cryptography like OpenPGP.
- Availability of the email provider's services via an [onion service](https://en.wikipedia.org/wiki/.onion).

View File

@ -2,42 +2,42 @@
*[ADB]: Android Debug Bridge
*[AOSP]: Android Open Source Project
*[ATA]: Advanced Technology Attachment
*[attack surface]: The total number of possible entry points for unauthorized access to a system
*[attack surface]: The total number of possible entry points for unauthorized access to a system.
*[AVB]: Android Verified Boot
*[cgroups]: Control Groups
*[CLI]: Command Line Interface
*[CSV]: Comma-Separated Values
*[CVE]: Common Vulnerabilities and Exposures
*[dark pattern]: A deceptive design pattern intended to trick a user into doing things
*[digital legacy feature]: Digital Legacy refers to features that allow you to give other people access to your data when you die
*[dark pattern]: A deceptive design pattern intended to trick a user into taking certain actions.
*[digital legacy]: Feature that allows you to give other people access to your data when you die.
*[DNSSEC]: Domain Name System Security Extensions
*[DNS]: Domain Name System
*[DoH]: DNS over HTTPS
*[DoQ]: DNS over QUIC
*[DoH3]: DNS over HTTP/3
*[DoT]: DNS over TLS
*[DPI]: Deep Packet Inspection identifies and blocks packet with specific payloads
*[DPI]: Deep Packet Inspection
*[E2EE]: End-to-End Encryption/Encrypted
*[ECS]: EDNS Client Subnet
*[EEA]: European Economic Area
*[entropy]: A measurement of how unpredictable something is
*[entropy]: A measurement of how unpredictable something is.
*[EOL]: End-of-Life
*[Exif]: Exchangeable image file format
*[FCM]: Firebase Cloud Messaging
*[FDE]: Full Disk Encryption
*[FIDO]: Fast IDentity Online
*[FS]: Forward Secrecy
*[fork]: A new software project created by copying an existing project and adding to it independently
*[fork]: A new software project created by copying an existing project and adding to it independently.
*[GDPR]: General Data Protection Regulation
*[GPG]: GNU Privacy Guard (PGP implementation)
*[GPS]: Global Positioning System
*[GUI]: Graphical User Interface
*[GnuPG]: GNU Privacy Guard (PGP implementation)
*[HDD]: Hard Disk Drive
*[HOTP]: HMAC (Hash-based Message Authentication Code) based One-Time Password
*[HOTP]: HMAC (Hash-based Message Authentication Code) -based One-Time Password
*[HTTPS]: Hypertext Transfer Protocol Secure
*[HTTP]: Hypertext Transfer Protocol
*[hypervisor]: Computer software, firmware, or hardware that splits the resources of a CPU among multiple operating systems
*[hypervisor]: Computer software, firmware, or hardware that splits the resources of a CPU among multiple operating systems.
*[ICCID]: Integrated Circuit Card Identifier
*[IMAP]: Internet Message Access Protocol
*[IMEI]: International Mobile Equipment Identity
@ -49,22 +49,19 @@
*[ISPs]: Internet Service Providers
*[JNI]: Java Native Interface
*[KYC]: Know Your Customer
*[LLaVA]: Large Language and Vision Assistant (multimodal AI model)
*[LLMs]: Large Language Models (AI models such as ChatGPT)
*[LUKS]: Linux Unified Key Setup (Full-Disk Encryption)
*[LUKS]: Linux Unified Key Setup (full disk encryption)
*[MAC]: Media Access Control
*[MDAG]: Microsoft Defender Application Guard
*[MEID]: Mobile Equipment Identifier
*[MFA]: Multi-Factor Authentication
*[NVMe]: Nonvolatile Memory Express
*[NAT]: Network address translation
*[NAT-PMP]: NAT Port Mapping Protocol
*[NVMe]: Non-Volatile Memory Express
*[NAT]: Network Address Translation
*[NAT-PMP]: NAT (Network Address Translation) Port Mapping Protocol
*[NTP]: Network Time Protocol
*[OCI]: Open Container Initiative
*[OCSP]: Online Certificate Status Protocol
*[OEM]: Original Equipment Manufacturer
*[OEMs]: Original Equipment Manufacturers
*[open-weights]: An open weights-model is an AI model that anyone can download and use, but for which the underlying training data and/or algorithms are proprietary.
*[OS]: Operating System
*[OTP]: One-Time Password
*[OTPs]: One-Time Passwords
@ -72,12 +69,12 @@
*[P2P]: Peer-to-Peer
*[PAM]: Linux Pluggable Authentication Modules
*[POP3]: Post Office Protocol 3
*[PGP]: Pretty Good Privacy (see OpenPGP)
*[PGP]: Pretty Good Privacy
*[PII]: Personally Identifiable Information
*[QNAME]: Qualified Name
*[QUIC]: A network protocol based on UDP, but aiming to combine the speed of UDP with the reliability of TCP.
*[QUIC]: A network protocol that is based on UDP, but aims to combine the speed of UDP with the reliability of TCP.
*[rate limits]: Rate limits are restrictions that a service imposes on the number of times a user can access their services within a specified period of time.
*[rolling release]: Updates which are released frequently rather than set intervals
*[rolling release]: Updates which are released frequently rather than at set intervals.
*[RSS]: Really Simple Syndication
*[SELinux]: Security-Enhanced Linux
*[SIM]: Subscriber Identity Module
@ -86,12 +83,10 @@
*[SNI]: Server Name Indication
*[SSD]: Solid-State Drive
*[SSH]: Secure Shell
*[SUID]: Set Owner User ID
*[SUID]: Set User Identity
*[SaaS]: Software as a Service (cloud software)
*[SoC]: System on Chip
*[SSO]: Single sign-on
*[system prompt]: The system prompt of an AI chat is the general instructions given by a human to guide how it should operate.
*[temperature]: AI temperature is a parameter used in AI models to control the level of randomness and creativity in the generated text.
*[SSO]: Single Sign-On
*[TCP]: Transmission Control Protocol
*[TEE]: Trusted Execution Environment
*[TLS]: Transport Layer Security
@ -107,3 +102,5 @@
*[W3C]: World Wide Web Consortium
*[XMPP]: Extensible Messaging and Presence Protocol
*[PWA]: Progressive Web App
*[PWAs]: Progressive Web Apps
*[WKD]: Web Key Directory