This repository contains a very small helper called web3_security_notebook.
It generates a short, text-based security checklist for Web3 projects that feel similar to:
- Aztec-style zk privacy rollups
- Zama-style FHE compute systems
- Soundness-first protocol labs
The script does not connect to a blockchain and does not use any external libraries. It is only a structured way to list some security and soundness questions you may want to write down in an engineering notebook.
Repository contents
There are exactly two files in this repository:
- app.py
- README.md
What it does
web3_security_notebook is a command-line tool that prints a list of security and soundness controls.
You choose a base style such as:
- aztec
- zama
- soundness
You can also enable flags that say whether your project uses:
- zk circuits
- FHE or encrypted compute
- extra emphasis on soundness and formal specifications
Based on these flags, the script picks several controls. Each control has:
- a short title
- a category (aztec, zama, or soundness)
- a one-line description
The output is small enough to paste directly into a design document or an issue tracker.
Installation
Requirements:
- Python 3.8 or newer
Steps:
- Create a new GitHub repository with any name.
- Copy app.py and README.md into the root of the repository.
- Make sure you can run python from your shell.
- No additional packages are required.
Usage
Run from the root directory of the repository.
Example 1: Soundness-first protocol with zk circuits
python app.py --style soundness --zk --extra-soundness
Example 2: Aztec-style privacy rollup with zk circuits only
python app.py --style aztec --zk
Example 3: Zama-style FHE compute stack
python app.py --style zama --fhe --extra-soundness
If you want machine-readable output, you can request JSON:
python app.py --style aztec --zk --extra-soundness --json
Output
In human-readable mode, the tool prints:
- the selected base style
- a numbered checklist of controls, for example:
- specification and threat model
- zk circuit review
- FHE pipeline validation
- bridge value flow mapping
- parameter governance
- formal properties
Each item includes a one-line description that you can expand in your own documentation.
In JSON mode, it prints a small object with:
- style (the chosen style key)
- controls (an array of objects, each with key, title, category, and description)
Notes
- This helper does not replace a full security review or formal verification.
- It is meant as a reminder list while designing systems that include zk, FHE, or soundness-first ideas.
- You can easily extend the CONTROLS dictionary in app.py to add more project-specific questions for your own Aztec-like, Zama-like, or soundness-focused Web3 work.