{"id":29271239,"url":"https://github.com/asantar0/sog","last_synced_at":"2026-02-07T22:32:00.956Z","repository":{"id":301624216,"uuid":"1009852642","full_name":"asantar0/SOG","owner":"asantar0","description":"Protect users before they leave the site. Professional, concise, and memorable.","archived":false,"fork":false,"pushed_at":"2025-07-18T16:18:22.000Z","size":571,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-02T06:52:49.371Z","etag":null,"topics":["compliance","external-links","javascript","nofollow","noopener","security","wordpress","wordpress-plugin"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/asantar0.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","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},"funding":{"custom":["https://coff.ee/agustins"]}},"created_at":"2025-06-27T20:37:33.000Z","updated_at":"2025-07-18T16:18:26.000Z","dependencies_parsed_at":"2025-06-27T21:33:38.625Z","dependency_job_id":"b21dfd70-3cad-4fed-89e9-f530d10988b4","html_url":"https://github.com/asantar0/SOG","commit_stats":null,"previous_names":["asantar0/sog"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/asantar0/SOG","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asantar0%2FSOG","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asantar0%2FSOG/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asantar0%2FSOG/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asantar0%2FSOG/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/asantar0","download_url":"https://codeload.github.com/asantar0/SOG/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asantar0%2FSOG/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29211127,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-07T22:22:11.602Z","status":"ssl_error","status_checked_at":"2026-02-07T22:22:10.684Z","response_time":63,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["compliance","external-links","javascript","nofollow","noopener","security","wordpress","wordpress-plugin"],"created_at":"2025-07-04T23:08:24.753Z","updated_at":"2026-02-07T22:32:00.941Z","avatar_url":"https://github.com/asantar0.png","language":"PHP","funding_links":["https://coff.ee/agustins"],"categories":[],"sub_categories":[],"readme":"# SOG – Secure Outbound Gateway for WordPress\n\n**SOG** (Secure Outbound Gateway) is a WordPress plugin that displays a customizable warning when visitors click on external links. It is designed for websites that prioritize security, transparency, and control over user behavior when leaving the site.\n\n## Why?\n### Comply with regulations or good practices\n- Regulations such as GDPR, HIPAA, and even internal guidelines from many public and private institutions recommend warning users before redirecting them off-domain.\n- It can be part of a security or UX (user experience) audit.\n\n### Reduce legal and reputational risks\nIf your site redirects to third-party services (links to banks, affiliates, etc.), notifying the user before leaving can protect you from claims if that third party has problems.\n\n### Improve user experience and build trust\n- When visitors see a warning like, \"You are about to leave this site,\" they feel that you care about their security.\n- This increases the perception of the website or company's seriousness.\n\n\n## Key Features\n\n- Legal warning modal before leaving the site.\n- Customizable text with a professional design.\n- Automatic logging of external link clicks.\n- Whitelist for trusted domains or internal subdomains.\n- Visual style adaptable via CSS.\n- Use of ipinfo.io to log Countries.\n- Localstore in order to avoid warning message to same site accepted.\n- Email alerting changes (enable, disable, update).\n\n\n## External Link Security (`rel=\"noopener noreferrer\"`)\n\nThe plugin offers an optional feature to automatically add `rel=\"noopener noreferrer\"` to all external links.\n\n- noopener: Prevents the new tab from accessing window.opener, mitigating tabnabbing attacks.\n- noreferrer: In addition to blocking window.opener, this prevents the Referer (source URL) from being sent to the destination site.\n\n### Why it matters\n- **Security**: Prevents reverse tabnabbing attacks.\n- **Privacy**: Stops leaking the source site through HTTP `Referer`.\n\n\n## Installation\n\n### From source\n\n1. Clone or download the repository:\n\n   ```bash\n   git clone https://github.com/asantar0/sog.git\n   ```\n\n2. Upload the `sog` folder to your `/wp-content/plugins/` directory.\n\n3. Activate the plugin from the WordPress admin dashboard.\n\n### From release\nGo to release section in this proyect.\n\n\n## Admin panel\n\nFrom the WordPress backend you can:\n- Edit the whitelist of trusted domains.\n- Automatically validate that the entered URLs are correctly formatted.\n- Delete the audit log with a single click.\n- Set IP Info token.\n- Enable or disable an automatic email notification each time the log is deleted.\n\n\n## Roadmap\n\n- Admin panel with click statistics\n- Multi-language support (WPML, Polylang, browser detection)\n- Advanced exceptions (by pattern, link type, or category)\n- Log export (CSV)\n- Integration with Google Analytics or Matomo\n- Delete accepted domains button\n- Tracking with Matomo/Google Analytics/Microsoft Clarity\n\n\n## License\n\nThis plugin is released under the [MIT License](./LICENSE).\n\n\n## Contact\n\nFor feature requests, improvements, or bug reports, please open an issue in this repository.\n\nagustins@root-view.com\n\n## Donations\n\nIf you find this plugin useful, you can buy me a coffee:\n\n[![Buy Me a Coffee](https://img.shields.io/badge/Coffee%20for%20me-%E2%98%95-lightgrey?logo=buy-me-a-coffee)](https://coff.ee/agustins)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasantar0%2Fsog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasantar0%2Fsog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasantar0%2Fsog/lists"}