← All Writings

Digital Dissidents – Practical Actions

Digital Dissidents – Practical Actions
Practical actions

DigitalDissidents

Digital Dissent

Boost The Creator:

							- Mr Crown

        **

            ×

Scan me with a bitcoin

                    lightning wallet

Unfortunately, we found out that the content we received originally came from someone who had copied another person’s work. We absolutely do not support this, and have therefore decided to temporarily remove the digital certificate and the accompanying informational article from the website. We’re currently considering how we might bring this back in a different and more authentic way.

Cypherpunk Checklist

/* Standaard stijlen voor de knop */
#download-certificaat {
    background-color: grey; /* Standaard grijs */
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    cursor: not-allowed;
    font-size: 16px;
    transition: background-color 0.3s ease;
}

/* Stijl wanneer de knop actief wordt */
#download-certificaat.active {
    background-color: green; /* Groene knop wanneer alle velden correct zijn */
    cursor: pointer;
}

Think you’ve got what it takes to protect your online privacy like a true cypherpunk? Follow this checklist and level up your digital security. If you check all the boxes, you’ll earn your very own Ungovernable Misfits Certificate—proof that you take privacy seriously.

Time to ditch surveillance and reclaim your freedom. Ready? Let’s go!

         Switch to a privacy focused browser – [Brave](https://brave.com/) (for phone, computer), [Mullvad Browser](https://mullvad.net/en/browser) (for computer) or [Zen](https://zenbrowser.io/) (for computer) will help you block ads, trackers and malicious websites.

         Start using VPN – [Mullvad](https://mullvad.net/) or [IVPN](https://www.ivpn.net/) will help you hide your IP address from websites and protect your internet life from your Internet Service Provider.

         Start using standalone Password Manager – [Bitwarden](https://bitwarden.com/) (online), [ProtonPass](https://proton.me/pass) (online), [KeePassXC](https://keepassxc.org/)/[DX](https://keepassdx.com/) (offline) will help you generate long, unique passwords and then save you with unparalleled security.

         Enable Two Factor Authentication for your online accounts – You can use apps like [Ente Auth](https://ente.io/auth) (automatic backups) and [Aegis](https://getaegis.app/) (manual backups required), or purchase hardware keys such as [YubiKey](https://www.yubico.com/) or [NitroKey](https://www.nitrokey.com/).

         Switch to Email provider who protects your privacy – [ProtonMail](https://protonmail.com/) and [Tuta](https://tuta.io/) are much better than Big Tech email inboxes. But remember, email is old protocol which is not private by default, so try to limit its usage.

         Start using email alias services – [SimpleLogin](https://simplelogin.io/) or [Addy](https://addy.co/) 
        generate new email addresses and forward all the mail to your main inbox, which will protect it from from data mining companies and brokers.

         Protect your phone number – stop giving it to everyone. Check out services like [MySudo](https://mysudo.com/), [SMSPool](https://www.smspool.net/) and [SilentLink](https://silent.link/).

         Switch to Open Source, End to End Encrypted messenger – [SimpleX](https://simplex.chat/) is your best option here. Try to be intolerant minority and force others to switch too, people who really want to talk to you will make the switch.

         Switch to privacy-focused calendar apps – [Proton Calendar](https://protonmail.com/calendar), [Tuta Calendar](https://tuta.io/calendar), [NextCloud Calendar](https://nextcloud.com/calendar/) and [EteSync](https://www.etesync.com/) won't share your schedule with third parties, because they won't have access to it themselves.

         Export your contacts from your Google Account and delete them from the Google Account. 

         Switch to private notes app – [Notesnook](https://notesnook.com/), [StandardNotes](https://standardnotes.com/) or [Joplin](https://joplinapp.org/) will keep your notes encrypted. 

         Switch from Google Drive or iCloud to private cloud solutions – [ProtonDrive](https://protondrive.com/), [Ente](https://ente.io/) and [NextCloud](https://nextcloud.com/) will keep your files encrypted.

         Start using reverse Firewall – [Safing Portmaster](https://safing.io/portmaster) (Windows, Linux), [Little Snitch](https://www.obdev.at/products/littlesnitch/index.html) (MacOS) or [NetGuard](https://www.netguard.me/) (Android) will help you block apps sending unwanted data by blocking their outgoing traffic.

         Protect your privacy while shopping online – use cash or Privacy.com when choosing payment option, use Amazon Lockers or Parcel Shops for delivery, fake name and email alias to protect your information

        Download Certificate

    document.addEventListener("DOMContentLoaded", function () {
        const nameInput = document.getElementById("naam");
        const checkboxes = document.querySelectorAll(".checklist");
        const downloadButton = document.getElementById("download-certificaat");

        // Ophalen van opgeslagen gegevens
        function loadSavedData() {
            const savedName = localStorage.getItem("certName");
            const savedChecks = JSON.parse(localStorage.getItem("certChecks")) || {};

            if (savedName) {
                nameInput.value = savedName;
            }

            checkboxes.forEach((checkbox, index) => {
                if (savedChecks[index]) {
                    checkbox.checked = true;
                }
            });

            updateButtonState();
        }

        // Opslaan van gegevens
        function saveData() {
            localStorage.setItem("certName", nameInput.value.trim());
            const checkStates = {};
            checkboxes.forEach((checkbox, index) => {
                checkStates[index] = checkbox.checked;
            });
            localStorage.setItem("certChecks", JSON.stringify(checkStates));
        }

        function updateButtonState() {
            const nameFilled = nameInput.value.trim().length > 0;
            const allChecked = [...checkboxes].every(checkbox => checkbox.checked);

            if (nameFilled && allChecked) {
                downloadButton.disabled = false;
                downloadButton.classList.add("active"); // Maak knop groen
            } else {
                downloadButton.disabled = true;
                downloadButton.classList.remove("active"); // Maak knop weer grijs
            }
        }

        // Event listeners
        checkboxes.forEach(checkbox => checkbox.addEventListener("change", () => {
            saveData();
            updateButtonState();
        }));

        nameInput.addEventListener("input", () => {
            saveData();
            updateButtonState();
        });

        // Laad eerder opgeslagen gegevens bij pagina-herlaad
        loadSavedData();

        // Eventlistener voor de downloadknop
        downloadButton.addEventListener("click", async function (event) {
            // Voorkom dat de pagina wordt herladen
            event.preventDefault();

            const userName = nameInput.value.trim();

            if (!userName) {
                alert("Enter your name to generate the certificate.");
                return;
            }

            try {
                // URL van je bestaande PDF (PAS AAN NAAR JE EIGEN PDF)
                const pdfUrl = "/images/writings/certificate-dd.pdf";
                const existingPdfBytes = await fetch(pdfUrl).then(res => res.arrayBuffer());

                // Laad de PDF en bewerk deze
                const pdfDoc = await PDFLib.PDFDocument.load(existingPdfBytes);
                const firstPage = pdfDoc.getPages()[0];

                // Bepaal de breedte van de pagina
                const { width, height } = firstPage.getSize();

                // Voeg naam toe, gecentreerd en in witte kleur
                const textSize = 30;
                const textWidth = userName.length * textSize * 0.7; // Simpele breedteschatting
                const textX = (width - textWidth) / 2; // Centreer de tekst

                firstPage.drawText(userName, {
                    x: textX,          // Gecentreerde X-waarde
                    y: height * 0.65,  // 75% van de paginahoogte
                    size: textSize,    
                    color: PDFLib.rgb(1, 1, 1) // Witte tekst
                });

                // Genereer de PDF en start de download
                const modifiedPdfBytes = await pdfDoc.save();
                const blob = new Blob([modifiedPdfBytes], { type: "application/pdf" });
                const link = document.createElement("a");
                link.href = URL.createObjectURL(blob);
                link.download = "certificate.pdf";
                link.click();
            } catch (error) {
                console.error("An error occurred:", error);
            }
        });
    });