Skip to content
ADARSH MAURYA edited this page Jan 14, 2024 · 4 revisions

CogniGuard: Defending Users Against Dark Patterns on the Web

Table of Contents

  1. Introduction
  2. Getting Started
  3. Usage
  4. Features
  5. Configuration
  6. Contributing
  7. Roadmap
  8. Code of Conduct
  9. Acknowledgments
  10. License
  11. FAQs
  12. Contact Information
  13. Changelog
  14. Examples or Demos
  15. Security
  16. Feedback

1. Introduction

CogniGuard is a powerful web extension designed to empower users by identifying and combatting dark patterns on various websites, particularly focusing on E-commerce platforms. Dark patterns are deceptive design practices that manipulate user behavior, eroding trust and hindering ethical online experiences. This documentation provides a comprehensive guide on how to use, contribute, and understand the inner workings of CogniGuard.

2. Getting Started

Installation

To get started with CogniGuard, follow the installation instructions for your preferred web browser (Chrome, Firefox, Safari).

Project Setup Locally πŸš€

Setting up Django API

  1. clone the git repository locally. git clone https://github.com/4darsh-Dev/CogniGaurd.git
  2. Install python and setup virtual envionment pip install virtualenv virtualenv myenv

Activating virtual environment named as myenv

1. In Windows πŸͺŸ

.\myenv\Scripts\activate

2. In Linux/Mac 🐧

source myenv/bin/activate

  1. Installing required modules and libraries pip install -r requirements.txt

  2. Running Django Development Server python manage.py makemigrations python manage.py migrate python manage.py runserver -- Server will be started at localhost (example: http://127.0.0.1:8000/)

Setting up CogniGuard Web Extension

  1. Open Google Chrome Browser and visit url chrome://extensions/
  2. Turn on Developer Mode.
  3. Click on load unpacked at then select the cogniguard-web folder with manifest.json
  4. Click on extension icon and you will find the CogniGuard.

3. Usage

CogniGuard seamlessly integrates with your web browser, actively analyzing websites in real-time. Users receive warnings and alerts when dark patterns such as price manipulation or fake urgency are detected. The transparency score for each website is also displayed, providing users with valuable insights into the platform's trustworthiness.

4. Features

  • HTML & JavaScript Code Analysis: Scrutinize webpages for deceptive elements through DOM manipulation and event listeners.
  • Price Manipulation Detection: Analyze displayed prices and detect potential manipulation using web scraping and a fine-tuned ML model.
  • Crowdsourced Database and ML Integration: Users can report dark patterns, contributing to a continuously evolving machine learning model.
  • Misleading Terms & Conditions Detection: Utilize BERT for NLP to analyze terms and conditions for suspicious content.
  • Transparency Score Calculation: Compute and display transparency scores based on various analyses.

5. Configuration

Configure CogniGuard by adjusting settings in the web extension or backend. Refer to the configuration section for detailed instructions.

6. Contributing

We welcome contributions! Follow the guidelines in the contributing section to contribute to the development of CogniGuard. Thank you for considering contributing to CogniGuard! We welcome your help in making this project even better.

Here are the key points to guide your contributions:

  • Fork the Repository: Start by forking the CogniGuard repository to your own GitHub account. 🍴

  • Clone the Repository: Clone the forked repository to your local machine using git clone https://github.com/4darsh-Dev/CogniGaurd . πŸ’»

  • Create a Branch: Create a branch for your contributions using a descriptive branch name. 🌿

  • Make Changes: Implement your changes or additions, ensuring they align with the project's goals. πŸš€

  • Testing: Test your changes thoroughly to ensure functionality and prevent regressions. βœ”οΈ

  • Commit Changes: Commit your changes with clear, concise messages. πŸ’¬

  • Create Pull Request: Push your changes to your forked repository and create a Pull Request (PR) to the main CogniGuard repository. πŸŽ‰

  • Follow Code Standards: Adhere to coding standards and guidelines defined in the project. πŸ“‹

  • Provide Detailed PR Description: Clearly explain the purpose and impact of your PR. πŸ“

  • Participate in Discussions: Engage in discussions related to your PR and address feedback promptly. πŸ’¬

By following these guidelines, you contribute to the growth and improvement of CogniGuard. Thank you for your valuable contributions! πŸš€

7. Roadmap

Explore the planned features and improvements in the roadmap section. Your feedback and contributions help shape the future of CogniGuard. Check out the project's roadmap to understand the planned features, improvements, and future milestones.

  • Creating the CogniGaurd Frontend and Api integration.
  • Building Datasets for fine tuning BERT Deep learning Model.
  • Setting up python virtual environment with necessary modules and libraries.
  • Fine Tuning BERT model for analyzing terms and conditions page.
  • Testing the BERT model on random websites.
  • Django Backend for serving CogniGuard Landing and report dark pattern pages.
  • Setting up Database for Django app.
  • ...coming

8. Code of Conduct πŸš€

Welcome to the CogniGuard community! We are committed to fostering an open, inclusive, and respectful environment for everyone involved in the project. By participating in this community, you agree to abide by this Code of Conduct to ensure a positive and collaborative experience.

Our Values 🌐

  1. Inclusivity: We welcome contributors from all backgrounds, regardless of their age, race, ethnicity, gender identity, sexual orientation, ability, nationality, or any other dimension of diversity.

  2. Respect: Treat all community members with kindness and respect. Disagreements may happen, but remember to focus on the issues at hand and avoid personal attacks.

  3. Collaboration: Embrace collaboration and constructive feedback. We believe that diverse perspectives lead to stronger outcomes.

  4. Open-mindedness: Be open to new ideas and approaches. We encourage innovation and creativity within our community.

  5. Transparency: Keep communications transparent and honest. Share your thoughts, concerns, and experiences openly to build trust among community members.

Expected Behavior 🌟

  1. Positive and Inclusive Language: Use inclusive language and avoid offensive or exclusionary comments.

  2. Constructive Criticism: Provide feedback in a constructive manner. Aim to help others improve rather than focusing on flaws.

  3. Acknowledgment: Recognize and appreciate the efforts of others. Celebrate achievements and contributions from all members.

  4. Adherence to Guidelines: Follow project guidelines, including those related to code, documentation, and communication channels.

  5. Respectful Communication: Be mindful of cultural differences and communication styles. Strive to maintain a professional and respectful ton

9. Acknowledgments

We express our gratitude to the incredible individuals who have contributed to the development and success of CogniGuard. 🌟 Your dedication, passion, and insights have played a pivotal role in shaping this project.

Special thanks to the open-source community for their continuous support and collaborative spirit. πŸš€ Your contributions, whether big or small, have contributed to the growth and improvement of CogniGuard.

We appreciate the efforts of each tester, developer, and community member who has devoted time and expertise to make CogniGuard a valuable tool.

Thank you for being part of our journey and contributing to a transparent and user-centric online environment. 🌐 Your involvement is crucial to the success of CogniGuard!

10. License

CogniGuard is licensed under MIT LICENSE. Review the license section for more details.

11. FAQs

Refer to the frequently asked questions section for answers to common queries about CogniGuard.

12. Contact Information

For further assistance or inquiries, contact our team through the provided contact information.

13. Changelog

Stay updated on the latest changes and improvements with our detailed changelog.

14. Examples or Demos

Explore examples or demos showcasing CogniGuard's capabilities in action.

15. Security

Learn about the security measures implemented in CogniGuard to ensure a secure user experience.

16. Feedback

We value your feedback! Share your thoughts, suggestions, or report issues in the feedback section.

CogniGuard is committed to creating a transparent and user-centric online environment, and your involvement is crucial to achieving this goal. Thank you for choosing CogniGuard!