Thank you for your interest in contributing to PhantomTrace! This project aims to advance anti-forensics research and privacy protection.
- Use this software ethically and legally
- Respect privacy and security
- Contribute high-quality, well-tested code
- Document your work thoroughly
- Check if the issue already exists
- Provide detailed reproduction steps
- Include system information (OS, Python version)
- Attach relevant logs or error messages
- Describe the anti-forensics technique clearly
- Explain the novel aspects
- Provide research references if available
- Discuss implementation approach
-
Fork the repository
-
Create a feature branch
git checkout -b feature/new-technique
-
Write your code
- Follow Python PEP 8 style guide
- Add docstrings to all functions/classes
- Include type hints where appropriate
- Keep functions focused and modular
-
Add tests
- Write unit tests for new functionality
- Ensure tests pass:
pytest - Aim for >80% code coverage
-
Update documentation
- Add docstrings
- Update README if needed
- Create example usage in
examples/
-
Run linters
black phantomtrace/ flake8 phantomtrace/
-
Commit your changes
git commit -m "Add feature: [brief description]" -
Push and create pull request
git push origin feature/new-technique
# Clone repository
git clone https://github.com/yourusername/phantomtrace.git
cd phantomtrace
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install in development mode
pip install -e .
pip install -r requirements.txt
pip install pytest black flake8
# Run tests
pytestWhen adding a new anti-forensics module:
"""
Module Name
Brief description of the technique.
Novel Concepts:
- Concept 1
- Concept 2
"""
class YourModule:
"""
Detailed class description.
Features:
- Feature 1
- Feature 2
"""
def __init__(self):
"""Initialize module."""
pass
def main_function(self, arg1: str, arg2: int = 10) -> bool:
"""
Function description.
Args:
arg1: Description
arg2: Description with default
Returns:
Description of return value
"""
passIf you're implementing a technique from a research paper:
- Cite the paper in the module docstring
- Explain how your implementation differs/improves
- Add the paper to
docs/research.md - Include performance benchmarks if relevant
- Never commit sensitive data
- Review code for security vulnerabilities
- Test with sanitized data only
- Report security issues privately
Open an issue or start a discussion on GitHub.
Thank you for contributing to privacy and security research!