Update CONTRIBUTING.md
This commit is contained in:
parent
854f862bd1
commit
9c38188bb4
@ -1,15 +1,16 @@
|
||||
# Contributing to GDPR Scanner
|
||||
|
||||
Thank you for considering a contribution. This project helps organisations find
|
||||
and manage personal data in Microsoft 365 tenants. Contributions that improve
|
||||
compliance coverage, reliability, and usability are very welcome.
|
||||
and manage personal data across Microsoft 365 (Exchange, OneDrive, SharePoint,
|
||||
Teams), Google Workspace (Gmail, Google Drive), and local/SMB file systems.
|
||||
Contributions that improve compliance coverage, reliability, and usability are
|
||||
very welcome.
|
||||
|
||||
---
|
||||
|
||||
## Before You Start
|
||||
|
||||
- Check the [open issues](../../issues) and [SUGGESTIONS.md](SUGGESTIONS.md) to
|
||||
see if your idea is already tracked
|
||||
- Check the [open issues](../../issues) to see if your idea is already tracked
|
||||
- For large features, open an issue first to discuss the approach — this avoids
|
||||
wasted effort if the direction doesn't fit
|
||||
- Security vulnerabilities: see [SECURITY.md](SECURITY.md) — do not file public issues
|
||||
@ -31,16 +32,16 @@ pip install -r requirements.txt
|
||||
# Danish NER model (optional — needed for name/address detection)
|
||||
python -m spacy download da_core_news_lg
|
||||
|
||||
# Run the Document Scanner
|
||||
python server.py
|
||||
|
||||
# Run the GDPRScanner
|
||||
# Start the scanner (serves on http://0.0.0.0:5100)
|
||||
python gdpr_scanner.py
|
||||
|
||||
# Run the test suite
|
||||
python -m pytest tests/ -q
|
||||
```
|
||||
|
||||
You will need a Microsoft Azure app registration with the permissions described
|
||||
in the README to test GDPRScanner against a real tenant. A developer tenant
|
||||
is available for free via the [Microsoft 365 Developer Program](https://developer.microsoft.com/microsoft-365/dev-program).
|
||||
To test against a real M365 tenant you will need a Microsoft Azure app
|
||||
registration with the permissions described in the README. A free developer
|
||||
tenant is available via the [Microsoft 365 Developer Program](https://developer.microsoft.com/microsoft-365/dev-program).
|
||||
|
||||
---
|
||||
|
||||
@ -48,8 +49,7 @@ is available for free via the [Microsoft 365 Developer Program](https://develope
|
||||
|
||||
- Bug fixes
|
||||
- Improved CPR false-positive reduction
|
||||
- New language files (see `lang/en.lang` for the key list)
|
||||
- Items from [SUGGESTIONS.md](SUGGESTIONS.md) — check the status column first
|
||||
- New language files (see `lang/en.json` for the key list)
|
||||
- Performance improvements for large tenants
|
||||
- Docker / deployment improvements
|
||||
- Documentation fixes
|
||||
@ -65,7 +65,7 @@ is available for free via the [Microsoft 365 Developer Program](https://develope
|
||||
- All personal data (CPR numbers) must be SHA-256 hashed before storage — never store or log raw CPR values
|
||||
- Wrap Graph API calls in try/except and handle `M365PermissionError` gracefully
|
||||
|
||||
**JavaScript (embedded in the Flask templates)**
|
||||
**JavaScript (`static/js/*.js` — ES modules)**
|
||||
- `const` / `let` — no `var`
|
||||
- `async/await` over `.then()` chains
|
||||
- All user-visible strings must have a `data-i18n` key so translations work
|
||||
@ -78,9 +78,9 @@ is available for free via the [Microsoft 365 Developer Program](https://develope
|
||||
|
||||
## Adding a Language
|
||||
|
||||
1. Copy `lang/en.lang` to `lang/xx.lang` (ISO 639-1 code)
|
||||
1. Copy `lang/en.json` to `lang/xx.json` (ISO 639-1 code)
|
||||
2. Translate all values — keys must stay identical
|
||||
3. Test by setting `~/.m365_scanner_lang` to `xx` and restarting
|
||||
3. Test by writing `xx` to `~/.gdprscanner/lang` and restarting
|
||||
|
||||
---
|
||||
|
||||
@ -88,10 +88,12 @@ is available for free via the [Microsoft 365 Developer Program](https://develope
|
||||
|
||||
1. Fork the repository and create a branch: `git checkout -b feature/my-feature`
|
||||
2. Make your changes and test them
|
||||
3. Run a syntax check: `python -m py_compile gdpr_scanner.py m365_connector.py gdpr_db.py`
|
||||
4. Update `README.md` if your change adds or changes user-visible behaviour
|
||||
5. Open a pull request with a clear description of what it does and why
|
||||
6. Link to the relevant issue or SUGGESTIONS.md item if applicable
|
||||
3. Run the test suite: `python -m pytest tests/ -q`
|
||||
4. Run a syntax check on the modules you touched, e.g.:
|
||||
`python -m py_compile gdpr_scanner.py scan_engine.py app_config.py gdpr_db.py`
|
||||
5. Update `README.md` if your change adds or changes user-visible behaviour
|
||||
6. Open a pull request with a clear description of what it does and why
|
||||
7. Link to the relevant issue if applicable
|
||||
|
||||
We aim to review pull requests within one week.
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user