Skip to content

Guides

Task-oriented walkthroughs. The Configuration and Plugins sections describe what every key does; these pages describe how to accomplish something.

  • Error Handling


    Every exception the library throws, which mode throws it, and how to decide between failing open and failing closed.

    Error handling

  • Custom Plugins


    Implement PluginInterface to evaluate requests against your own logic.

    Custom plugins

  • Custom Storage


    Persist blocks and rate-limit counters anywhere — Memcached, DynamoDB, your app's ORM.

    Custom storage

  • Advanced Examples


    A full multi-layered production configuration, annotated.

    Advanced examples

  • GeoIP Setup


    Obtain, install, and refresh the MaxMind GeoLite2 databases the GeoLocation and ASN plugins need.

    GeoIP setup

  • Local Example Environment


    The Docker sandbox in example/ — spoofing client IPs, testing rules, and troubleshooting.

    Example environment

  • Demo Application


    A runnable demo showing the challenge interstitial and repeat-offender escalation end to end.

    Demo application