Skip to main content

🤝 Contributing to ChildSafeNet

Thank you for your interest in contributing to ChildSafeNet. The project welcomes improvements in backend, frontend, AI, browser extension, documentation, and DevOps.

Open SourceCollaborationSecurity First

1. How to Contribute

This project welcomes improvements in backend, frontend, AI, extension, documentation, and DevOps. Clear structure and safe collaboration are important.


1
Fork

Fork the Repository

  • Click Fork on GitHub
  • Clone your fork locally

2
Branch

Create a Branch

Use clear branch naming:

  • feature/<topic>
  • fix/<topic>
  • docs/<topic>
  • refactor/<topic>
  • chore/<topic>

Example: feature/url-whitelist-ui

3
Commit

Follow Conventional Commits

Use standard commit prefixes:

  • feat: new feature
  • fix: bug fix
  • docs: documentation change
  • refactor: code restructuring
  • chore: maintenance task
  • perf: performance improvement
  • test: add/update tests

Example:

feat: add dataset approval endpoint
fix: correct scan threshold logic

4
Code

Code Guidelines

  • Keep functions small and readable
  • Use meaningful variable names
  • Add comments where logic is non-trivial
  • Avoid breaking existing APIs
  • Ensure role-based access is respected
  • Do not expose sensitive data in logs

5
PR

Pull Request Process

When opening a PR:

  • Provide a clear description
  • Reference related issue (if any)
  • Include screenshots (if UI change)
  • Mention testing steps
  • Ensure build passes
  • Ensure no sensitive data committed

PR Checklist:

  • Code compiles
  • No obvious security issue
  • Documentation updated (if needed)
  • No debug logs left in production code


2. Issue & Labeling Guidelines

Suggested labels:

  • setup
  • backend
  • frontend
  • extension
  • ai
  • docs
  • security
  • devops
  • bug
  • enhancement
  • performance

Use labels consistently to keep backlog organized.


3. Security Reporting

If you discover a security vulnerability:

  • Do NOT open a public issue
  • Contact maintainers privately
  • Provide steps to reproduce
  • Allow time for patch before disclosure

4. AI & Training Contributions

If contributing to the AI pipeline:

  • Do not modify training logic without evaluation
  • Provide metric comparison before/after
  • Ensure rollback safety
  • Keep previous model version intact

See:

  • CONTRIBUTING.md
  • BRANCHING.md
  • Issue Templates
  • Code of Conduct (if available)

6. Contribution Philosophy

ChildSafeNet prioritizes:

  • Stability over rapid change
  • Security over convenience
  • Explainability over black-box logic
  • Clean documentation over hidden behavior

Thank you for helping improve internet safety for children.