{"id":31601788,"url":"https://github.com/a-jean-andreasian/opensource-guard","last_synced_at":"2025-10-06T07:59:48.627Z","repository":{"id":318136375,"uuid":"1069025843","full_name":"a-jean-andreasian/OpenSource-Guard","owner":"a-jean-andreasian","description":"This tool gives you hand-on protection for your open-source projects from code stealers.","archived":false,"fork":false,"pushed_at":"2025-10-05T09:47:32.000Z","size":15,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-10-05T11:37:24.717Z","etag":null,"topics":["code-protection","data-protection","no-ai","no-ai-training","open-source"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/a-jean-andreasian.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-03T09:34:19.000Z","updated_at":"2025-10-05T09:47:35.000Z","dependencies_parsed_at":"2025-10-05T11:37:31.355Z","dependency_job_id":null,"html_url":"https://github.com/a-jean-andreasian/OpenSource-Guard","commit_stats":null,"previous_names":["a-jean-andreasian/opensource-guard"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/a-jean-andreasian/OpenSource-Guard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a-jean-andreasian%2FOpenSource-Guard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a-jean-andreasian%2FOpenSource-Guard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a-jean-andreasian%2FOpenSource-Guard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a-jean-andreasian%2FOpenSource-Guard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/a-jean-andreasian","download_url":"https://codeload.github.com/a-jean-andreasian/OpenSource-Guard/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a-jean-andreasian%2FOpenSource-Guard/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278577924,"owners_count":26009701,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-06T02:00:05.630Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["code-protection","data-protection","no-ai","no-ai-training","open-source"],"created_at":"2025-10-06T07:59:47.369Z","updated_at":"2025-10-06T07:59:48.621Z","avatar_url":"https://github.com/a-jean-andreasian.png","language":"Python","readme":"# OpenSource Guard\n\n---\n## Table of content\n\n- Introduction\n  - [What problem does this tool solve?](#what-problem-does-this-tool-solve)\n  - [What does this tool protect you from?](#what-does-this-tool-protect-you-from)\n  - [Manifesto](#manifesto)\n- In detail\n  - [How it works?](#how-it-works)\n  - [Usage notes](#usage-notes)\n  - [The benefits of this tool](#the-benefits-of-this-tool)\n    - [Little intro on used algorithms](#little-intro-on-these-algorithms)\n- Usage\n  - [Usage flow](#usage-flow)\n\n\n---\n\n## What problem does this tool solve?\n\n- We are living times that anything public means it's not yours anymore.\n- Anyone can grab your code, laugh at the licence file of it, then reuse, repurpose, republish as their own, feed it to\n  AI crawlers.\n- Most “open-source protection” advice is utopian: blocklists, licenses, code etiquette.\n- In reality, as in life the majority doesn't respect the rules but respect the gun.\n\nTLDR: **This tool gives you hand-on protection for your open-source projects from code stealers.**\n\n---\n\n## What does this tool protect you from?\n\n- AI crawlers.\n- Those who will violate the license anyway.\n- Individuals who modify the code and re-license it as their own.\n- Other unwanted steals.\n\n---\n\n## Manifesto\n1. No, _\"not everything open-source is free to use. And if you think otherwise, then keep your code private.\"_\n2. This is indeed the mentality of a typical scammer: unintelligent, selfish, greedy and ignorant. The one this tool opposes.\n\n---\n\n## How it works?\n\n**The core idea** is in encoding the important and critical files of your open source code.\n\n- E.g. abstraction layers, parts with heavy business logic, settings, file with constants, etc.\n\n---\n\n## Usage notes\n\n- Use different keys in different parts of the program.\n- Do not store the keys anywhere in the project, even encoded.\n- Yes you can additionally obfuscate your code as well.\n  - This actually depends on your preferences.\n\n---\n\n## The benefits of this tool\n\n- It provides 2 in 1 choice. You can choose any of **AES-256 GCM** and **ChaCha20-Poly1305**.\n- Moreover, it doesn't enforce you to encode all files with one algorithm.\n- Moreover, you can rencode already encoded files with another algorithm, as many times as you want.\n\n---\n\n## Little intro on these algorithms\n\n- **AES-256 GCM**: Industry standard, very secure, fast, and has built-in authentication (detects tampering). Perfect\n  for encrypting source files.\n- **ChaCha20-Poly1305**: Very fast, especially on mobile or low-power devices, and secure. A good alternative to AES if\n  you want portability and performance.\n\n---\n\n## Usage flow\n\n1. Encrypt the important files.\n2. Save the keys somewhere handy, or directly save the keys to the deployment environment as variables (if available).\n3. Upload the project to GitHub.\n\n\n- Alternatively, you can have an automatic job to decrypt the project files (on startup).\n\n---\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fa-jean-andreasian%2Fopensource-guard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fa-jean-andreasian%2Fopensource-guard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fa-jean-andreasian%2Fopensource-guard/lists"}