diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index df2f89b..135b86e 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,6 +1,6 @@ # These are supported funding model platforms -github: rennf93 +github: Guard-Core # patreon: # Replace with a single Patreon username # open_collective: # Replace with a single Open Collective username # ko_fi: # Replace with a single Ko-fi username diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 10b68f9..ca2efdf 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,8 +1,8 @@ blank_issues_enabled: false contact_links: - name: Flask API Guard Documentation - url: https://rennf93.github.io/flaskapi-guard/ + url: https://guard-core.github.io/flaskapi-guard/ about: Check the documentation for usage information and tutorials - name: Usage Questions - url: https://github.com/rennf93/flaskapi-guard/discussions + url: https://github.com/Guard-Core/flaskapi-guard/discussions about: Please ask and answer questions in GitHub Discussions diff --git a/.github/scripts/bump_version.py b/.github/scripts/bump_version.py index d662314..ab8a003 100644 --- a/.github/scripts/bump_version.py +++ b/.github/scripts/bump_version.py @@ -189,7 +189,7 @@ def update_index_md(version: str) -> bool: content = path.read_text() pattern = re.compile( - r"(docker pull ghcr\.io/rennf93/flaskapi-guard-example:v)" + r"(docker pull ghcr\.io/guard-core/flaskapi-guard-example:v)" r"[\d]+\.[\d]+\.[\d]+" ) match = pattern.search(content) diff --git a/AGENTS.md b/AGENTS.md index 9ae874c..75afa37 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -14,7 +14,7 @@ FlaskAPI Guard is a production-ready security library for Flask applications tha - Route-level security decorators - Behavioral analysis and anomaly detection -It is a direct port of [FastAPI Guard](https://github.com/rennf93/fastapi-guard) to the Flask/WSGI ecosystem, with the same feature set adapted for Flask's synchronous WSGI model. +It is a direct port of [FastAPI Guard](https://github.com/Guard-Core/fastapi-guard) to the Flask/WSGI ecosystem, with the same feature set adapted for Flask's synchronous WSGI model. - **PyPI Package**: `flaskapi_guard` - **Import Name**: `flaskapi_guard` @@ -24,7 +24,7 @@ It is a direct port of [FastAPI Guard](https://github.com/rennf93/fastapi-guard) ## Ecosystem Position -FlaskAPI Guard is a **thin adapter** over [guard-core](https://github.com/rennf93/guard-core). All security logic (models, handlers, decorators, detection engine, protocols, utilities) lives in the `guard_core` package; this repo contains only the Flask/WSGI integration layer. +FlaskAPI Guard is a **thin adapter** over [guard-core](https://github.com/Guard-Core/guard-core). All security logic (models, handlers, decorators, detection engine, protocols, utilities) lives in the `guard_core` package; this repo contains only the Flask/WSGI integration layer. ```text guard-core (engine, PyPI dependency >=3.15.0) <- all security logic @@ -66,7 +66,7 @@ FlaskAPI Guard uses the Flask extension pattern with `before_request`/`after_req ## Boundary Rules -- **This repo MUST NOT** contain security logic (checks, handlers, models, detection patterns, `SecurityConfig`). Those belong in [guard-core](https://github.com/rennf93/guard-core); a security fix belongs upstream, not here. +- **This repo MUST NOT** contain security logic (checks, handlers, models, detection patterns, `SecurityConfig`). Those belong in [guard-core](https://github.com/Guard-Core/guard-core); a security fix belongs upstream, not here. - **This repo MUST** bridge Flask/Werkzeug native types to guard-core's `GuardRequest` / `GuardResponse` / response-factory protocols through `flaskapi_guard/adapters.py`, and use the `guard_core.sync.*` mirror (never the async tree) because Flask is synchronous. - **This repo MUST** keep `FlaskAPIGuard` a thin orchestrator that delegates to `SecurityCheckPipeline`; do not fork or reimplement pipeline behavior. - **This repo MUST** re-export new guard-core public surface from `flaskapi_guard/__init__.py` when it becomes part of the adapter's user-facing API. @@ -317,10 +317,10 @@ REDIS_URL=redis://localhost:6379 uv run pytest -k "extension" -v ## Related Projects -- **guard-core** - Framework-agnostic security engine (the engine this adapter wraps): -- **fastapi-guard** - FastAPI/Starlette adapter (async reference implementation): -- **djapi-guard** - Django middleware adapter (sync mirror): -- **tornadoapi-guard** - Tornado handler/middleware adapter: -- **guard-agent** - Telemetry and monitoring agent: -- **guard-core-mcp** - MCP server for config validation and docs search: -- **guard-core-app** - SaaS platform (API, dashboard, playground): +- **guard-core** - Framework-agnostic security engine (the engine this adapter wraps): +- **fastapi-guard** - FastAPI/Starlette adapter (async reference implementation): +- **djapi-guard** - Django middleware adapter (sync mirror): +- **tornadoapi-guard** - Tornado handler/middleware adapter: +- **guard-agent** - Telemetry and monitoring agent: +- **guard-core-mcp** - MCP server for config validation and docs search: +- **guard-core-app** - SaaS platform (API, dashboard, playground): diff --git a/CLAUDE.md b/CLAUDE.md index 9ae874c..75afa37 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -14,7 +14,7 @@ FlaskAPI Guard is a production-ready security library for Flask applications tha - Route-level security decorators - Behavioral analysis and anomaly detection -It is a direct port of [FastAPI Guard](https://github.com/rennf93/fastapi-guard) to the Flask/WSGI ecosystem, with the same feature set adapted for Flask's synchronous WSGI model. +It is a direct port of [FastAPI Guard](https://github.com/Guard-Core/fastapi-guard) to the Flask/WSGI ecosystem, with the same feature set adapted for Flask's synchronous WSGI model. - **PyPI Package**: `flaskapi_guard` - **Import Name**: `flaskapi_guard` @@ -24,7 +24,7 @@ It is a direct port of [FastAPI Guard](https://github.com/rennf93/fastapi-guard) ## Ecosystem Position -FlaskAPI Guard is a **thin adapter** over [guard-core](https://github.com/rennf93/guard-core). All security logic (models, handlers, decorators, detection engine, protocols, utilities) lives in the `guard_core` package; this repo contains only the Flask/WSGI integration layer. +FlaskAPI Guard is a **thin adapter** over [guard-core](https://github.com/Guard-Core/guard-core). All security logic (models, handlers, decorators, detection engine, protocols, utilities) lives in the `guard_core` package; this repo contains only the Flask/WSGI integration layer. ```text guard-core (engine, PyPI dependency >=3.15.0) <- all security logic @@ -66,7 +66,7 @@ FlaskAPI Guard uses the Flask extension pattern with `before_request`/`after_req ## Boundary Rules -- **This repo MUST NOT** contain security logic (checks, handlers, models, detection patterns, `SecurityConfig`). Those belong in [guard-core](https://github.com/rennf93/guard-core); a security fix belongs upstream, not here. +- **This repo MUST NOT** contain security logic (checks, handlers, models, detection patterns, `SecurityConfig`). Those belong in [guard-core](https://github.com/Guard-Core/guard-core); a security fix belongs upstream, not here. - **This repo MUST** bridge Flask/Werkzeug native types to guard-core's `GuardRequest` / `GuardResponse` / response-factory protocols through `flaskapi_guard/adapters.py`, and use the `guard_core.sync.*` mirror (never the async tree) because Flask is synchronous. - **This repo MUST** keep `FlaskAPIGuard` a thin orchestrator that delegates to `SecurityCheckPipeline`; do not fork or reimplement pipeline behavior. - **This repo MUST** re-export new guard-core public surface from `flaskapi_guard/__init__.py` when it becomes part of the adapter's user-facing API. @@ -317,10 +317,10 @@ REDIS_URL=redis://localhost:6379 uv run pytest -k "extension" -v ## Related Projects -- **guard-core** - Framework-agnostic security engine (the engine this adapter wraps): -- **fastapi-guard** - FastAPI/Starlette adapter (async reference implementation): -- **djapi-guard** - Django middleware adapter (sync mirror): -- **tornadoapi-guard** - Tornado handler/middleware adapter: -- **guard-agent** - Telemetry and monitoring agent: -- **guard-core-mcp** - MCP server for config validation and docs search: -- **guard-core-app** - SaaS platform (API, dashboard, playground): +- **guard-core** - Framework-agnostic security engine (the engine this adapter wraps): +- **fastapi-guard** - FastAPI/Starlette adapter (async reference implementation): +- **djapi-guard** - Django middleware adapter (sync mirror): +- **tornadoapi-guard** - Tornado handler/middleware adapter: +- **guard-agent** - Telemetry and monitoring agent: +- **guard-core-mcp** - MCP server for config validation and docs search: +- **guard-core-app** - SaaS platform (API, dashboard, playground): diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index a733ba2..4153dad 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -76,7 +76,7 @@ Enforcement Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at -@rennf93. +contact@guard-core.com. All complaints will be reviewed and investigated promptly and fairly. All community leaders are obligated to respect the privacy and security of the diff --git a/README.md b/README.md index ef6075a..cf2ad13 100644 --- a/README.md +++ b/README.md @@ -1,41 +1,41 @@

- - FlaskAPI Guard + + FlaskAPI Guard

---

- flaskapi-guard is a security library for Flask that provides an extension to control IPs, log requests, detect penetration attempts and more. It integrates seamlessly with Flask to offer robust protection against various security threats. Powered by guard-core. + flaskapi-guard is a security library for Flask that provides an extension to control IPs, log requests, detect penetration attempts and more. It integrates seamlessly with Flask to offer robust protection against various security threats. Powered by guard-core.

PyPiVersion - - Release + + Release License - - CI + + CI - - CodeQL + + CodeQL

- - PagesBuildDeployment + + PagesBuildDeployment - - DocsUpdate + + DocsUpdate - last-commit + last-commit

@@ -49,7 +49,7 @@

Website · - Docs · + Docs · Playground · Dashboard · Discord @@ -59,7 +59,7 @@ # Documentation -📚 **[Documentation](https://rennf93.github.io/flaskapi-guard)** - Full technical documentation and deep dive into its inner workings. +📚 **[Documentation](https://guard-core.github.io/flaskapi-guard)** - Full technical documentation and deep dive into its inner workings. ___ @@ -71,24 +71,24 @@ FlaskAPI Guard is the Flask adapter for the Guard security ecosystem. Powered by | Package | Role | PyPI | |---|---|---| -| [guard-core](https://github.com/rennf93/guard-core) | Framework-agnostic security engine | [![PyPI](https://img.shields.io/pypi/v/guard-core)](https://pypi.org/project/guard-core/) | -| [guard-agent](https://github.com/rennf93/guard-agent) | Telemetry agent | [![PyPI](https://img.shields.io/pypi/v/guard-agent)](https://pypi.org/project/guard-agent/) | -| [fastapi-guard](https://github.com/rennf93/fastapi-guard) | FastAPI / Starlette adapter | [![PyPI](https://img.shields.io/pypi/v/fastapi-guard)](https://pypi.org/project/fastapi-guard/) | -| [flaskapi-guard](https://github.com/rennf93/flaskapi-guard) | Flask adapter (this package) | [![PyPI](https://img.shields.io/pypi/v/flaskapi-guard)](https://pypi.org/project/flaskapi-guard/) | -| [djapi-guard](https://github.com/rennf93/djapi-guard) | Django adapter | [![PyPI](https://img.shields.io/pypi/v/djapi-guard)](https://pypi.org/project/djapi-guard/) | -| [tornadoapi-guard](https://github.com/rennf93/tornadoapi-guard) | Tornado adapter | [![PyPI](https://img.shields.io/pypi/v/tornadoapi-guard)](https://pypi.org/project/tornadoapi-guard/) | +| [guard-core](https://github.com/Guard-Core/guard-core) | Framework-agnostic security engine | [![PyPI](https://img.shields.io/pypi/v/guard-core)](https://pypi.org/project/guard-core/) | +| [guard-agent](https://github.com/Guard-Core/guard-agent) | Telemetry agent | [![PyPI](https://img.shields.io/pypi/v/guard-agent)](https://pypi.org/project/guard-agent/) | +| [fastapi-guard](https://github.com/Guard-Core/fastapi-guard) | FastAPI / Starlette adapter | [![PyPI](https://img.shields.io/pypi/v/fastapi-guard)](https://pypi.org/project/fastapi-guard/) | +| [flaskapi-guard](https://github.com/Guard-Core/flaskapi-guard) | Flask adapter (this package) | [![PyPI](https://img.shields.io/pypi/v/flaskapi-guard)](https://pypi.org/project/flaskapi-guard/) | +| [djapi-guard](https://github.com/Guard-Core/djapi-guard) | Django adapter | [![PyPI](https://img.shields.io/pypi/v/djapi-guard)](https://pypi.org/project/djapi-guard/) | +| [tornadoapi-guard](https://github.com/Guard-Core/tornadoapi-guard) | Tornado adapter | [![PyPI](https://img.shields.io/pypi/v/tornadoapi-guard)](https://pypi.org/project/tornadoapi-guard/) | ### TypeScript / JavaScript -Published under the [`@guardcore`](https://www.npmjs.com/org/guardcore) npm scope. Source in the [guard-core-ts](https://github.com/rennf93/guard-core-ts) monorepo. **Production-ready.** +Published under the [`@guardcore`](https://www.npmjs.com/org/guardcore) npm scope. Source in the [guard-core-ts](https://github.com/Guard-Core/guard-core-ts) monorepo. **Production-ready.** | Package | Role | npm | |---|---|---| -| [@guardcore/core](https://github.com/rennf93/guard-core-ts/tree/master/packages/core) | Core engine | [![npm](https://img.shields.io/npm/v/%40guardcore%2Fcore)](https://www.npmjs.com/package/@guardcore/core) | -| [@guardcore/express](https://github.com/rennf93/guard-core-ts/tree/master/packages/express) | Express adapter | [![npm](https://img.shields.io/npm/v/%40guardcore%2Fexpress)](https://www.npmjs.com/package/@guardcore/express) | -| [@guardcore/nestjs](https://github.com/rennf93/guard-core-ts/tree/master/packages/nestjs) | NestJS adapter | [![npm](https://img.shields.io/npm/v/%40guardcore%2Fnestjs)](https://www.npmjs.com/package/@guardcore/nestjs) | -| [@guardcore/fastify](https://github.com/rennf93/guard-core-ts/tree/master/packages/fastify) | Fastify adapter | [![npm](https://img.shields.io/npm/v/%40guardcore%2Ffastify)](https://www.npmjs.com/package/@guardcore/fastify) | -| [@guardcore/hono](https://github.com/rennf93/guard-core-ts/tree/master/packages/hono) | Hono adapter | [![npm](https://img.shields.io/npm/v/%40guardcore%2Fhono)](https://www.npmjs.com/package/@guardcore/hono) | +| [@guardcore/core](https://github.com/Guard-Core/guard-core-ts/tree/master/packages/core) | Core engine | [![npm](https://img.shields.io/npm/v/%40guardcore%2Fcore)](https://www.npmjs.com/package/@guardcore/core) | +| [@guardcore/express](https://github.com/Guard-Core/guard-core-ts/tree/master/packages/express) | Express adapter | [![npm](https://img.shields.io/npm/v/%40guardcore%2Fexpress)](https://www.npmjs.com/package/@guardcore/express) | +| [@guardcore/nestjs](https://github.com/Guard-Core/guard-core-ts/tree/master/packages/nestjs) | NestJS adapter | [![npm](https://img.shields.io/npm/v/%40guardcore%2Fnestjs)](https://www.npmjs.com/package/@guardcore/nestjs) | +| [@guardcore/fastify](https://github.com/Guard-Core/guard-core-ts/tree/master/packages/fastify) | Fastify adapter | [![npm](https://img.shields.io/npm/v/%40guardcore%2Ffastify)](https://www.npmjs.com/package/@guardcore/fastify) | +| [@guardcore/hono](https://github.com/Guard-Core/guard-core-ts/tree/master/packages/hono) | Hono adapter | [![npm](https://img.shields.io/npm/v/%40guardcore%2Fhono)](https://www.npmjs.com/package/@guardcore/hono) | ### Rust @@ -96,11 +96,11 @@ Published on crates.io. **🚧 Placeholder crates — implementation in progress | Package | Role | crates.io | |---|---|---| -| [guard-core](https://github.com/rennf93/guard-core-rs) | Core engine | [![crates.io](https://img.shields.io/crates/v/guard-core)](https://crates.io/crates/guard-core) | -| [actix-guard-rs](https://github.com/rennf93/actix-guard-rs) | Actix adapter | [![crates.io](https://img.shields.io/crates/v/actix-guard-rs)](https://crates.io/crates/actix-guard-rs) | -| [axum-guard-rs](https://github.com/rennf93/axum-guard-rs) | Axum adapter | [![crates.io](https://img.shields.io/crates/v/axum-guard-rs)](https://crates.io/crates/axum-guard-rs) | -| [rocket-guard-rs](https://github.com/rennf93/rocket-guard-rs) | Rocket adapter | [![crates.io](https://img.shields.io/crates/v/rocket-guard-rs)](https://crates.io/crates/rocket-guard-rs) | -| [tower-guard-rs](https://github.com/rennf93/tower-guard-rs) | Tower adapter | [![crates.io](https://img.shields.io/crates/v/tower-guard-rs)](https://crates.io/crates/tower-guard-rs) | +| [guard-core](https://github.com/Guard-Core/guard-core-rs) | Core engine | [![crates.io](https://img.shields.io/crates/v/guard-core)](https://crates.io/crates/guard-core) | +| [actix-guard-rs](https://github.com/Guard-Core/actix-guard-rs) | Actix adapter | [![crates.io](https://img.shields.io/crates/v/actix-guard-rs)](https://crates.io/crates/actix-guard-rs) | +| [axum-guard-rs](https://github.com/Guard-Core/axum-guard-rs) | Axum adapter | [![crates.io](https://img.shields.io/crates/v/axum-guard-rs)](https://crates.io/crates/axum-guard-rs) | +| [rocket-guard-rs](https://github.com/Guard-Core/rocket-guard-rs) | Rocket adapter | [![crates.io](https://img.shields.io/crates/v/rocket-guard-rs)](https://crates.io/crates/rocket-guard-rs) | +| [tower-guard-rs](https://github.com/Guard-Core/tower-guard-rs) | Tower adapter | [![crates.io](https://img.shields.io/crates/v/tower-guard-rs)](https://crates.io/crates/tower-guard-rs) | ___ @@ -825,7 +825,7 @@ ___ ## Key Differences from FastAPI Guard -FlaskAPI Guard is a direct port of [FastAPI Guard](https://github.com/rennf93/fastapi-guard) to the Flask/WSGI ecosystem. The security logic is identical, but adapted for Flask's synchronous model: +FlaskAPI Guard is a direct port of [FastAPI Guard](https://github.com/Guard-Core/fastapi-guard) to the Flask/WSGI ecosystem. The security logic is identical, but adapted for Flask's synchronous model: | Aspect | FastAPI Guard | FlaskAPI Guard | |--------|--------------|----------------| @@ -858,7 +858,7 @@ ___ ## Author -Renzo Franceschini - [rennf93@users.noreply.github.com](mailto:rennf93@users.noreply.github.com) . +Renzo Franceschini - [contact@guard-core.com](mailto:contact@guard-core.com) . ___ @@ -866,7 +866,7 @@ ___ - [Flask](https://flask.palletsprojects.com/) - [Werkzeug](https://werkzeug.palletsprojects.com/) -- [FastAPI Guard](https://github.com/rennf93/fastapi-guard) +- [FastAPI Guard](https://github.com/Guard-Core/fastapi-guard) - [IPInfo](https://ipinfo.io/) - [cachetools](https://cachetools.readthedocs.io/) - [Redis](https://redis.io/) diff --git a/SECURITY.md b/SECURITY.md index 9300422..715c1f6 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -16,12 +16,12 @@ We take the security of FlaskAPI Guard seriously. If you believe you've found a 1. **Do not disclose the vulnerability publicly** until it has been addressed by the maintainers. 2. **Report the vulnerability through GitHub's security advisory feature**: - - Go to the [Security tab](https://github.com/rennf93/flaskapi-guard/security/advisories) of the FlaskAPI Guard repository + - Go to the [Security tab](https://github.com/Guard-Core/flaskapi-guard/security/advisories) of the FlaskAPI Guard repository - Click on "New draft security advisory" - Fill in the details of the vulnerability - Submit the advisory - Alternatively, you can report vulnerabilities through [GitHub's private vulnerability reporting feature](https://github.com/rennf93/flaskapi-guard/security/advisories/new). + Alternatively, you can report vulnerabilities through [GitHub's private vulnerability reporting feature](https://github.com/Guard-Core/flaskapi-guard/security/advisories/new). 3. Include the following information in your report: - A description of the vulnerability and its potential impact @@ -83,7 +83,7 @@ FlaskAPI Guard provides several security features to protect your Flask applicat - Country-based Access Control - Cloud Provider IP Blocking -For detailed information on configuring these features, refer to the [documentation](https://rennf93.github.io/flaskapi-guard). +For detailed information on configuring these features, refer to the [documentation](https://guard-core.github.io/flaskapi-guard). ## Threat Model diff --git a/docs/index.md b/docs/index.md index d1a9116..669fdb7 100644 --- a/docs/index.md +++ b/docs/index.md @@ -11,12 +11,12 @@ keywords: flask, security, extension, python, ip control, rate limiting, penetra ![FlaskAPI Guard](assets/flaskapi_guard_legend.svg) [![PyPI version](https://badge.fury.io/py/flaskapi-guard.svg?cache=none&icon=si%3Apython&icon_color=%23008cb4)](https://badge.fury.io/py/flaskapi-guard) -[![Release](https://github.com/rennf93/flaskapi-guard/actions/workflows/release.yml/badge.svg)](https://github.com/rennf93/flaskapi-guard/actions/workflows/release.yml) +[![Release](https://github.com/Guard-Core/flaskapi-guard/actions/workflows/release.yml/badge.svg)](https://github.com/Guard-Core/flaskapi-guard/actions/workflows/release.yml) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) -[![CI](https://github.com/rennf93/flaskapi-guard/actions/workflows/ci.yml/badge.svg)](https://github.com/rennf93/flaskapi-guard/actions/workflows/ci.yml) -[![CodeQL](https://github.com/rennf93/flaskapi-guard/actions/workflows/code-ql.yml/badge.svg)](https://github.com/rennf93/flaskapi-guard/actions/workflows/code-ql.yml) +[![CI](https://github.com/Guard-Core/flaskapi-guard/actions/workflows/ci.yml/badge.svg)](https://github.com/Guard-Core/flaskapi-guard/actions/workflows/ci.yml) +[![CodeQL](https://github.com/Guard-Core/flaskapi-guard/actions/workflows/code-ql.yml/badge.svg)](https://github.com/Guard-Core/flaskapi-guard/actions/workflows/code-ql.yml) -`flaskapi-guard` is a comprehensive security library for Flask applications, providing an extension to control IPs, log requests, and detect penetration attempts. It integrates seamlessly with Flask to offer robust protection against various security threats, ensuring your application remains secure and reliable. FlaskAPI Guard is a direct port of [FastAPI Guard](https://github.com/rennf93/fastapi-guard) to the Flask/WSGI ecosystem. +`flaskapi-guard` is a comprehensive security library for Flask applications, providing an extension to control IPs, log requests, and detect penetration attempts. It integrates seamlessly with Flask to offer robust protection against various security threats, ensuring your application remains secure and reliable. FlaskAPI Guard is a direct port of [FastAPI Guard](https://github.com/Guard-Core/fastapi-guard) to the Flask/WSGI ecosystem. ___ @@ -93,20 +93,20 @@ ___ ## Example App -Inside [examples](https://github.com/rennf93/flaskapi-guard/tree/master/examples), you can find a simple example app that demonstrates how to use FlaskAPI Guard. +Inside [examples](https://github.com/Guard-Core/flaskapi-guard/tree/master/examples), you can find a simple example app that demonstrates how to use FlaskAPI Guard. ___ ## Docker Container -You can also download the example app as a Docker container from [GitHub Container Registry](https://github.com/orgs/rennf93/packages/container/flaskapi-guard-example). +You can also download the example app as a Docker container from [GitHub Container Registry](https://github.com/orgs/Guard-Core/packages/container/flaskapi-guard-example). ```bash # Pull the latest version -docker pull ghcr.io/rennf93/flaskapi-guard-example:latest +docker pull ghcr.io/guard-core/flaskapi-guard-example:latest # Or pull a specific version (matches library releases) -docker pull ghcr.io/rennf93/flaskapi-guard-example:v4.3.2 +docker pull ghcr.io/guard-core/flaskapi-guard-example:v4.3.2 ``` ___ @@ -119,7 +119,7 @@ The easiest way to run the example app is with Docker Compose, which automatical ```bash # Clone the repository -git clone https://github.com/rennf93/flaskapi-guard.git +git clone https://github.com/Guard-Core/flaskapi-guard.git cd flaskapi-guard/examples # Start the app with Redis @@ -134,14 +134,14 @@ Alternatively, you can run just the container: ```bash # Run with default settings -docker run -p 8000:8000 ghcr.io/rennf93/flaskapi-guard-example:latest +docker run -p 8000:8000 ghcr.io/guard-core/flaskapi-guard-example:latest # Run with custom Redis connection docker run -p 8000:8000 \ -e REDIS_URL=redis://your-redis-host:your-redis-port \ -e REDIS_PREFIX=your-redis-prefix \ -e IPINFO_TOKEN=your-ipinfo-token \ - ghcr.io/rennf93/flaskapi-guard-example:latest + ghcr.io/guard-core/flaskapi-guard-example:latest ``` ### Running Locally @@ -389,7 +389,7 @@ ___ ## Key Differences from FastAPI Guard -FlaskAPI Guard is a direct port of [FastAPI Guard](https://github.com/rennf93/fastapi-guard) adapted for Flask's synchronous WSGI model: +FlaskAPI Guard is a direct port of [FastAPI Guard](https://github.com/Guard-Core/fastapi-guard) adapted for Flask's synchronous WSGI model: | Aspect | FastAPI Guard | FlaskAPI Guard | |--------|--------------|----------------| @@ -409,6 +409,6 @@ ___ ## Documentation - [Release Notes](release-notes.md) -- [GitHub Repository](https://github.com/rennf93/flaskapi-guard) +- [GitHub Repository](https://github.com/Guard-Core/flaskapi-guard) - [PyPI Package](https://pypi.org/project/flaskapi-guard/) -- [FastAPI Guard (upstream)](https://github.com/rennf93/fastapi-guard) +- [FastAPI Guard (upstream)](https://github.com/Guard-Core/fastapi-guard) diff --git a/docs/llms.txt b/docs/llms.txt index 54d9db1..a916d84 100644 --- a/docs/llms.txt +++ b/docs/llms.txt @@ -1,6 +1,6 @@ # FlaskAPI Guard Documentation - LLMs.txt # For LLM Crawlers and AI Assistants -# Documentation Site: https://rennf93.github.io/flaskapi-guard +# Documentation Site: https://guard-core.github.io/flaskapi-guard ## Overview FlaskAPI Guard is a comprehensive security extension for Flask applications, providing enterprise-grade protection with minimal configuration. Powered by guard-core, the framework-agnostic security engine. This documentation site provides complete technical guides, API references, tutorials, and examples. @@ -8,105 +8,105 @@ FlaskAPI Guard is a comprehensive security extension for Flask applications, pro ## Documentation Structure ### Getting Started -- **Home**: https://rennf93.github.io/flaskapi-guard/latest/ -- **Installation**: https://rennf93.github.io/flaskapi-guard/latest/installation/ -- **First Steps**: https://rennf93.github.io/flaskapi-guard/latest/tutorial/first-steps/ +- **Home**: https://guard-core.github.io/flaskapi-guard/latest/ +- **Installation**: https://guard-core.github.io/flaskapi-guard/latest/installation/ +- **First Steps**: https://guard-core.github.io/flaskapi-guard/latest/tutorial/first-steps/ ### Core Features Documentation #### IP Management - **IP Banning**: Automatic and manual IP banning with threshold-based blocking - - Docs: https://rennf93.github.io/flaskapi-guard/latest/tutorial/ip-management/banning/ + - Docs: https://guard-core.github.io/flaskapi-guard/latest/tutorial/ip-management/banning/ - **Geolocation**: Country-based access control using IP geolocation - - Docs: https://rennf93.github.io/flaskapi-guard/latest/tutorial/ip-management/geolocation/ + - Docs: https://guard-core.github.io/flaskapi-guard/latest/tutorial/ip-management/geolocation/ - **Cloud Providers**: Block requests from AWS, GCP, Azure IP ranges - - Docs: https://rennf93.github.io/flaskapi-guard/latest/tutorial/ip-management/cloud-providers/ + - Docs: https://guard-core.github.io/flaskapi-guard/latest/tutorial/ip-management/cloud-providers/ - **Rate Limiting**: Multiple strategies (fixed window, sliding window, token bucket) - - Docs: https://rennf93.github.io/flaskapi-guard/latest/tutorial/ip-management/rate-limiter/ + - Docs: https://guard-core.github.io/flaskapi-guard/latest/tutorial/ip-management/rate-limiter/ #### Security Decorators - **Overview**: Route-level security with Python decorators - - Docs: https://rennf93.github.io/flaskapi-guard/latest/tutorial/decorators/overview/ + - Docs: https://guard-core.github.io/flaskapi-guard/latest/tutorial/decorators/overview/ - **Access Control**: IP whitelisting, blacklisting, country restrictions - - Docs: https://rennf93.github.io/flaskapi-guard/latest/tutorial/decorators/access-control/ + - Docs: https://guard-core.github.io/flaskapi-guard/latest/tutorial/decorators/access-control/ - **Authentication**: Bearer, Basic, API Key header validation - - Docs: https://rennf93.github.io/flaskapi-guard/latest/tutorial/decorators/authentication/ + - Docs: https://guard-core.github.io/flaskapi-guard/latest/tutorial/decorators/authentication/ - **Rate Limiting Decorators**: Per-route rate limits - - Docs: https://rennf93.github.io/flaskapi-guard/latest/tutorial/decorators/rate-limiting/ + - Docs: https://guard-core.github.io/flaskapi-guard/latest/tutorial/decorators/rate-limiting/ - **Behavioral Analysis**: Usage monitoring, return value monitoring - - Docs: https://rennf93.github.io/flaskapi-guard/latest/tutorial/decorators/behavioral/ + - Docs: https://guard-core.github.io/flaskapi-guard/latest/tutorial/decorators/behavioral/ - **Content Filtering**: Request/response content validation - - Docs: https://rennf93.github.io/flaskapi-guard/latest/tutorial/decorators/content-filtering/ + - Docs: https://guard-core.github.io/flaskapi-guard/latest/tutorial/decorators/content-filtering/ - **Advanced Decorators**: Combined security features - - Docs: https://rennf93.github.io/flaskapi-guard/latest/tutorial/decorators/advanced/ + - Docs: https://guard-core.github.io/flaskapi-guard/latest/tutorial/decorators/advanced/ #### Security Features - **Penetration Detection**: SQL injection, XSS, command injection detection - - Docs: https://rennf93.github.io/flaskapi-guard/latest/tutorial/security/penetration-detection/ + - Docs: https://guard-core.github.io/flaskapi-guard/latest/tutorial/security/penetration-detection/ - **Detection Engine**: Advanced pattern matching and threat detection - - Overview: https://rennf93.github.io/flaskapi-guard/latest/tutorial/security/detection-engine/overview/ - - Architecture: https://rennf93.github.io/flaskapi-guard/latest/tutorial/security/detection-engine/architecture/ - - Components: https://rennf93.github.io/flaskapi-guard/latest/tutorial/security/detection-engine/components/ - - Configuration: https://rennf93.github.io/flaskapi-guard/latest/tutorial/security/detection-engine/configuration/ - - Performance: https://rennf93.github.io/flaskapi-guard/latest/tutorial/security/detection-engine/performance-tuning/ + - Overview: https://guard-core.github.io/flaskapi-guard/latest/tutorial/security/detection-engine/overview/ + - Architecture: https://guard-core.github.io/flaskapi-guard/latest/tutorial/security/detection-engine/architecture/ + - Components: https://guard-core.github.io/flaskapi-guard/latest/tutorial/security/detection-engine/components/ + - Configuration: https://guard-core.github.io/flaskapi-guard/latest/tutorial/security/detection-engine/configuration/ + - Performance: https://guard-core.github.io/flaskapi-guard/latest/tutorial/security/detection-engine/performance-tuning/ - **Proxy Security**: Trusted proxy handling, X-Forwarded-For validation - - Docs: https://rennf93.github.io/flaskapi-guard/latest/tutorial/security/proxy-security/ + - Docs: https://guard-core.github.io/flaskapi-guard/latest/tutorial/security/proxy-security/ - **Custom Patterns**: Define custom attack patterns - - Docs: https://rennf93.github.io/flaskapi-guard/latest/tutorial/security/custom-patterns/ + - Docs: https://guard-core.github.io/flaskapi-guard/latest/tutorial/security/custom-patterns/ - **Security Monitoring**: Event tracking and analytics - - Docs: https://rennf93.github.io/flaskapi-guard/latest/tutorial/security/monitoring/ + - Docs: https://guard-core.github.io/flaskapi-guard/latest/tutorial/security/monitoring/ #### Configuration - **Security Config**: Complete configuration reference - - Docs: https://rennf93.github.io/flaskapi-guard/latest/tutorial/configuration/security-config/ + - Docs: https://guard-core.github.io/flaskapi-guard/latest/tutorial/configuration/security-config/ - **CORS**: Cross-Origin Resource Sharing setup - - Docs: https://rennf93.github.io/flaskapi-guard/latest/tutorial/configuration/cors/ + - Docs: https://guard-core.github.io/flaskapi-guard/latest/tutorial/configuration/cors/ - **Logging**: Security event logging configuration - - Docs: https://rennf93.github.io/flaskapi-guard/latest/tutorial/configuration/logging/ + - Docs: https://guard-core.github.io/flaskapi-guard/latest/tutorial/configuration/logging/ #### Redis Integration - **Distributed State**: Redis for multi-instance deployments - - Docs: https://rennf93.github.io/flaskapi-guard/latest/tutorial/redis-integration/caching/ + - Docs: https://guard-core.github.io/flaskapi-guard/latest/tutorial/redis-integration/caching/ #### Advanced Topics - **Advanced Customizations**: Custom request checks, response modifiers - - Docs: https://rennf93.github.io/flaskapi-guard/latest/tutorial/advanced-customizations/ + - Docs: https://guard-core.github.io/flaskapi-guard/latest/tutorial/advanced-customizations/ - **Example Application**: Complete working example - - Docs: https://rennf93.github.io/flaskapi-guard/latest/tutorial/examples/example-app/ + - Docs: https://guard-core.github.io/flaskapi-guard/latest/tutorial/examples/example-app/ ### API Reference Complete API documentation for all classes and functions: -- **Overview**: https://rennf93.github.io/flaskapi-guard/latest/api/overview/ +- **Overview**: https://guard-core.github.io/flaskapi-guard/latest/api/overview/ - **FlaskAPIGuard**: Main extension class - - Docs: https://rennf93.github.io/flaskapi-guard/latest/api/security-middleware/ + - Docs: https://guard-core.github.io/flaskapi-guard/latest/api/security-middleware/ - **Core Architecture**: Internal architecture and design - - Docs: https://rennf93.github.io/flaskapi-guard/latest/api/core-architecture/ + - Docs: https://guard-core.github.io/flaskapi-guard/latest/api/core-architecture/ - **SecurityDecorators**: All decorator functions - - Docs: https://rennf93.github.io/flaskapi-guard/latest/api/decorators/ + - Docs: https://guard-core.github.io/flaskapi-guard/latest/api/decorators/ - **BehaviorManager**: Behavioral analysis manager - - Docs: https://rennf93.github.io/flaskapi-guard/latest/api/behavior-manager/ + - Docs: https://guard-core.github.io/flaskapi-guard/latest/api/behavior-manager/ - **RedisManager**: Redis state management - - Docs: https://rennf93.github.io/flaskapi-guard/latest/api/redis-manager/ + - Docs: https://guard-core.github.io/flaskapi-guard/latest/api/redis-manager/ - **IPBanManager**: IP banning logic - - Docs: https://rennf93.github.io/flaskapi-guard/latest/api/ipban-manager/ + - Docs: https://guard-core.github.io/flaskapi-guard/latest/api/ipban-manager/ - **IPInfoManager**: IP geolocation - - Docs: https://rennf93.github.io/flaskapi-guard/latest/api/ipinfo-manager/ + - Docs: https://guard-core.github.io/flaskapi-guard/latest/api/ipinfo-manager/ - **RateLimitManager**: Rate limiting algorithms - - Docs: https://rennf93.github.io/flaskapi-guard/latest/api/ratelimit-manager/ + - Docs: https://guard-core.github.io/flaskapi-guard/latest/api/ratelimit-manager/ - **SusPatternsManager**: Suspicious pattern detection - - Docs: https://rennf93.github.io/flaskapi-guard/latest/api/sus-patterns/ + - Docs: https://guard-core.github.io/flaskapi-guard/latest/api/sus-patterns/ - **CloudManager**: Cloud provider IP management - - Docs: https://rennf93.github.io/flaskapi-guard/latest/api/cloud-manager/ + - Docs: https://guard-core.github.io/flaskapi-guard/latest/api/cloud-manager/ - **SecurityHeadersManager**: HTTP security headers - - Docs: https://rennf93.github.io/flaskapi-guard/latest/api/security-headers/ + - Docs: https://guard-core.github.io/flaskapi-guard/latest/api/security-headers/ - **Utilities**: Helper functions and utilities - - Docs: https://rennf93.github.io/flaskapi-guard/latest/api/utilities/ + - Docs: https://guard-core.github.io/flaskapi-guard/latest/api/utilities/ ### Release Notes - **Changelog**: All version history and updates - - Docs: https://rennf93.github.io/flaskapi-guard/latest/release-notes/ + - Docs: https://guard-core.github.io/flaskapi-guard/latest/release-notes/ ## Key Features Explained @@ -178,15 +178,15 @@ guard = FlaskAPIGuard(app, config=config) ## Related Resources ### Official Sites -- **Documentation**: https://rennf93.github.io/flaskapi-guard/latest/ -- **GitHub**: https://github.com/rennf93/flaskapi-guard +- **Documentation**: https://guard-core.github.io/flaskapi-guard/latest/ +- **GitHub**: https://github.com/Guard-Core/flaskapi-guard - **PyPI**: https://pypi.org/project/flaskapi-guard/ ### Community -- **Issues**: https://github.com/rennf93/flaskapi-guard/issues -- **Discussions**: https://github.com/rennf93/flaskapi-guard/discussions -- **Contributing**: https://github.com/rennf93/flaskapi-guard/blob/main/CONTRIBUTING.md -- **Security Policy**: https://github.com/rennf93/flaskapi-guard/security/policy +- **Issues**: https://github.com/Guard-Core/flaskapi-guard/issues +- **Discussions**: https://github.com/Guard-Core/flaskapi-guard/discussions +- **Contributing**: https://github.com/Guard-Core/flaskapi-guard/blob/master/CONTRIBUTING.md +- **Security Policy**: https://github.com/Guard-Core/flaskapi-guard/security/policy ## License MIT License - Free for commercial and personal use. @@ -196,4 +196,4 @@ This documentation covers all versions of FlaskAPI Guard. Use the version select Default version: latest (stable) Provider: Mike (MkDocs versioning) -Versions JSON: https://rennf93.github.io/flaskapi-guard/versions.json +Versions JSON: https://guard-core.github.io/flaskapi-guard/versions.json diff --git a/docs/robots.txt b/docs/robots.txt index 047c4f5..1acd10c 100644 --- a/docs/robots.txt +++ b/docs/robots.txt @@ -1,3 +1,3 @@ User-agent: * Allow: / -Sitemap: https://rennf93.github.io/flaskapi-guard/sitemap.xml \ No newline at end of file +Sitemap: https://guard-core.github.io/flaskapi-guard/sitemap.xml \ No newline at end of file diff --git a/docs/tutorial/configuration/telemetry.md b/docs/tutorial/configuration/telemetry.md index 25c972f..c478141 100644 --- a/docs/tutorial/configuration/telemetry.md +++ b/docs/tutorial/configuration/telemetry.md @@ -7,7 +7,7 @@ description: OpenTelemetry, Logfire, and event/metric/log muting for FlaskAPI Gu # Telemetry -FlaskAPI Guard emits security events and request metrics through a composable telemetry pipeline provided by [guard-core](https://github.com/rennf93/guard-core). Events can be muted, metrics can be muted, individual security-check logs can be muted, and exports to OpenTelemetry and Logfire are opt-in. +FlaskAPI Guard emits security events and request metrics through a composable telemetry pipeline provided by [guard-core](https://github.com/Guard-Core/guard-core). Events can be muted, metrics can be muted, individual security-check logs can be muted, and exports to OpenTelemetry and Logfire are opt-in. The extension installs and tears down the telemetry pipeline automatically — you only set fields on `SecurityConfig`. @@ -189,7 +189,7 @@ When `enable_enrichment=True`, every event and every metric routed through the e | `guard.behavior.correlation_key` | `str` (16-char hex) | SHA-256 prefix of `ip \| service \| floor(now/300)` — stable within a 5-minute window | events only | | `guard.behavior.recent_event_count` | `int` | Total events observed from the IP across all endpoints in the last 5 minutes | events only | -All fields are nullable; absence = unavailable context. Every exporter (guard-agent, OTel, Logfire) sees the same enriched payload. See the [guard-core telemetry reference](https://github.com/rennf93/guard-core/blob/master/docs/architecture/telemetry.md) for the full behavior spec. +All fields are nullable; absence = unavailable context. Every exporter (guard-agent, OTel, Logfire) sees the same enriched payload. See the [guard-core telemetry reference](https://github.com/Guard-Core/guard-core/blob/master/docs/architecture/telemetry.md) for the full behavior spec. ## Incoming `traceparent` @@ -218,4 +218,4 @@ The error message lists the valid values. Common typos: `"suspicious"` instead o ## Reference -The full field schema and pipeline behaviour is maintained in the [guard-core telemetry reference](https://github.com/rennf93/guard-core/blob/master/docs/architecture/telemetry.md). +The full field schema and pipeline behaviour is maintained in the [guard-core telemetry reference](https://github.com/Guard-Core/guard-core/blob/master/docs/architecture/telemetry.md). diff --git a/docs/tutorial/examples/example-app.md b/docs/tutorial/examples/example-app.md index c93ca30..fb2dc05 100644 --- a/docs/tutorial/examples/example-app.md +++ b/docs/tutorial/examples/example-app.md @@ -32,7 +32,7 @@ Code Overview The example app is built using Flask and shows how to integrate FlaskAPI Guard as an extension: -[Example Code](https://github.com/rennf93/flaskapi-guard/blob/master/examples/main.py) +[Example Code](https://github.com/Guard-Core/flaskapi-guard/blob/master/examples/main.py) ```python from flask import Flask @@ -64,7 +64,7 @@ The easiest way to run the example is with Docker Compose, which automatically s ```bash # Clone the repository -git clone https://github.com/rennf93/flaskapi-guard.git +git clone https://github.com/Guard-Core/flaskapi-guard.git cd flaskapi-guard/examples # Start the app with Redis @@ -83,7 +83,7 @@ ___ Docker Compose File ------------------- -[Docker Compose File](https://github.com/rennf93/flaskapi-guard/blob/master/examples/compose.yml) +[Docker Compose File](https://github.com/Guard-Core/flaskapi-guard/blob/master/examples/compose.yml) ```yaml services: @@ -122,7 +122,7 @@ Testing Security Features You can use the included test battery to verify security features: -[Test battery](https://github.com/rennf93/flaskapi-guard/blob/master/examples/test_battery.txt) +[Test battery](https://github.com/Guard-Core/flaskapi-guard/blob/master/examples/test_battery.txt) ```bash # For rate limiting (will trigger after 15 requests) @@ -159,7 +159,7 @@ ___ Source Code ----------- -You can find the complete example code in the [examples directory](https://github.com/rennf93/flaskapi-guard/tree/master/examples) of the GitHub repository. +You can find the complete example code in the [examples directory](https://github.com/Guard-Core/flaskapi-guard/tree/master/examples) of the GitHub repository. ___ diff --git a/flaskapi_guard/.agents/skills/flaskapi-guard/SKILL.md b/flaskapi_guard/.agents/skills/flaskapi-guard/SKILL.md index a90fbc5..16a5b1b 100644 --- a/flaskapi_guard/.agents/skills/flaskapi-guard/SKILL.md +++ b/flaskapi_guard/.agents/skills/flaskapi-guard/SKILL.md @@ -91,10 +91,10 @@ Decorators stack top-down and each writes a per-route `RouteConfig` the extensio ## Related Projects -* [guard-core](https://github.com/rennf93/guard-core): framework-agnostic security engine (async source + `guard_core.sync` mirror) this adapter wraps. -* [fastapi-guard](https://github.com/rennf93/fastapi-guard): FastAPI/Starlette adapter (async reference implementation). -* [djapi-guard](https://github.com/rennf93/djapi-guard): Django middleware adapter (sync mirror). -* [tornadoapi-guard](https://github.com/rennf93/tornadoapi-guard): Tornado handler/middleware adapter. -* [guard-agent](https://github.com/rennf93/guard-agent): telemetry client used by `enable_agent=True`. -* [guard-core-mcp](https://github.com/rennf93/guard-core-mcp): MCP server for config validation and docs search. -* [guard-core-app](https://github.com/rennf93/guard-core-app): SaaS platform the agent reports to. +* [guard-core](https://github.com/Guard-Core/guard-core): framework-agnostic security engine (async source + `guard_core.sync` mirror) this adapter wraps. +* [fastapi-guard](https://github.com/Guard-Core/fastapi-guard): FastAPI/Starlette adapter (async reference implementation). +* [djapi-guard](https://github.com/Guard-Core/djapi-guard): Django middleware adapter (sync mirror). +* [tornadoapi-guard](https://github.com/Guard-Core/tornadoapi-guard): Tornado handler/middleware adapter. +* [guard-agent](https://github.com/Guard-Core/guard-agent): telemetry client used by `enable_agent=True`. +* [guard-core-mcp](https://github.com/Guard-Core/guard-core-mcp): MCP server for config validation and docs search. +* [guard-core-app](https://github.com/Guard-Core/guard-core-app): SaaS platform the agent reports to. diff --git a/mkdocs.yml b/mkdocs.yml index 2de5ef6..63c6ee7 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1,9 +1,9 @@ site_name: Flask API Guard site_description: Security extension for Flask applications -site_url: https://rennf93.github.io/flaskapi-guard/latest/ -repo_name: rennf93/flaskapi-guard -repo_url: https://github.com/rennf93/flaskapi-guard -edit_uri: edit/main/docs/ +site_url: https://guard-core.github.io/flaskapi-guard/latest/ +repo_name: Guard-Core/flaskapi-guard +repo_url: https://github.com/Guard-Core/flaskapi-guard +edit_uri: edit/master/docs/ theme: name: material @@ -132,7 +132,7 @@ plugins: extra: social: - icon: fontawesome/brands/github - link: https://github.com/rennf93/flaskapi-guard + link: https://github.com/Guard-Core/flaskapi-guard - icon: fontawesome/brands/python link: https://pypi.org/project/flaskapi-guard/ @@ -151,7 +151,7 @@ extra: data: 0 note: >- Thanks for your feedback! Help us improve by using our - issue tracker. + issue tracker. generator: false meta: @@ -162,7 +162,7 @@ extra: - property: og:description content: Comprehensive security library for Flask applications providing IP control, request logging, and penetration detection - property: og:image - content: https://rennf93.github.io/flaskapi-guard/latest/assets/flaskapi_guard_legend.svg + content: https://guard-core.github.io/flaskapi-guard/latest/assets/flaskapi_guard_legend.svg - name: keywords content: flask, security, extension, python, ip control, rate limiting, penetration detection diff --git a/pyproject.toml b/pyproject.toml index 0daaa59..251f8c9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,7 +3,7 @@ name = "flaskapi_guard" version = "4.3.2" description = "A security library for Flask to control IPs, log requests, and detect penetration attempts." authors = [ - {name = "Renzo Franceschini", email = "rennf93@users.noreply.github.com"} + {name = "Renzo Franceschini", email = "rennf93@guard-core.com"} ] readme = "README.md" license = "MIT" @@ -29,7 +29,11 @@ dependencies = [ ] [project.urls] -Homepage = "https://github.com/rennf93/flaskapi-guard" +Homepage = "https://github.com/Guard-Core/flaskapi-guard" +Documentation = "https://guard-core.github.io/flaskapi-guard/latest/" +Repository = "https://github.com/Guard-Core/flaskapi-guard" +Issues = "https://github.com/Guard-Core/flaskapi-guard/issues" +Changelog = "https://github.com/Guard-Core/flaskapi-guard/blob/master/CHANGELOG.md" [project.optional-dependencies] dev = [