22,747
stars
+49+57+238
1,469
forks
–
watchers
–
prs
–
issues
–
releases
–
discussions
README
Personal Security Checklist
The ultimate list of tips to secure your digital life
🌐 digital-defense.io
👉 Read the Checklist 👈
Contents
- The Checklist
- The Website
- The API
- Contributing
- Credits
- License
---
The Checklist
You can read the full checklist in CHECKLIST.md.
To view/edit the raw data, see personal-security-checklist.yml
---
The Website
The easiest method for consuming the checklist is via our website: digital-defense.io
Here you can browse lists, filter by your threat model and tick items off once complete (plus, there are pretty charts to make you feel good about your progress ☺️).
About
The source for the website is in web/.
The site is built with Qwik, using TypeScript and some components from DaisyUI.
Developing
To run the app locally, or to make code changes, you'll need Node (20.19+ or 22.12+) and Git installed.
1. Grab the code: git clone [email protected]:Lissy93/personal-security-checklist.git
2. Navigate into the source: cd personal-security-checklist/web
3. Install dependencies: yarn
4. Start the development server: yarn dev
Alternatively, just open this repo in Code Spaces, where everything is already configured and ready to go.
Deploying
Option 1) From source
To deploy the app, follow the developing steps above, then run yarn build.ssg. You can then deploy it by copying the dist/ directory to any CDN, web server or static hosting provider of your choice.
Option 2) Static host
Alternatively, fork the repo and import it into any static hosting provider, like Vercel or Netlify.
Option 3) Docker
We also have a Docker image published to GHCR and DockerHub (lissy93/personal-security-checklist).
It's ~11 MB, runs as a non-root user, works on amd64, arm64 and armv7, and gets rebuilt whenever the checklist changes, serving the site with nginx on port 8080.
Either see the docker-compose.yml, or just use the following Docker run command:
bash
docker run -d -p 8080:8080 lissy93/personal-security-checklist
---
The API
We also make all the data available via a free API, which you can use however you wish.
Usage
All endpoints are documented in our OpenAPI spec, you can view these and try them out via our Swagger docs.
Base: digital-defense.io/api
/api/checklists
/api/checklists/[name-or-index]
/api/checklists/[name]/[point-index]
/api/search/[searchterm]
Contributing
All checklist data is stored in personal-security-checklist.yml. This is pulled in the website at build-time and referenced by the API, and is also dynamically inserted into the markdown Checklist page.
So if you only wish to make changes to the data, this is the only file you need to edit.
Important: When submitting your pull request, provide references backing up any information that you're adding/amending/removing.
For modifying the website or API source, see the developing sections above for instructions on running locally.
Before submitting an issue or PR, please ensure you've followed the community gu