Helps developers implement tailored CSRF protection strategies without tokens, ensuring robust security and easy integration.
Project description
csrf-sentry
A Python package that helps developers implement CSRF (Cross-Site Request Forgery) protection without relying on traditional tokens or hidden form fields. The package takes a user's input describing their web application's structure and security requirements, and returns a structured response with a tailored CSRF protection strategy.
Installation
pip install csrf_sentry
Usage
Basic Usage
from csrf_sentry import csrf_sentry
# Basic usage with default LLM
response = csrf_sentry("Describe your web application structure and security requirements")
print(response)
Using Custom LLM
You can use any Langchain-compliant LLM with csrf_sentry:
OpenAI
from langchain_openai import ChatOpenAI
from csrf_sentry import csrf_sentry
llm = ChatOpenAI()
response = csrf_sentry(user_input, llm=llm)
Anthropic
from langchain_anthropic import ChatAnthropic
from csrf_sentry import csrf_sentry
llm = ChatAnthropic()
response = csrf_sentry(user_input, llm=llm)
from langchain_google_genai import ChatGoogleGenerativeAI
from csrf_sentry import csrf_sentry
llm = ChatGoogleGenerativeAI()
response = csrf_sentry(user_input, llm=llm)
Using Custom API Key
If you need to use your own LLM7 API key:
from csrf_sentry import csrf_sentry
# Pass API key directly
response = csrf_sentry(user_input, api_key="your_api_key_here")
# Or set environment variable
import os
os.environ["LLM7_API_KEY"] = "your_api_key_here"
response = csrf_sentry(user_input)
Parameters
user_input(str): The user input text describing your web application structure and security requirementsllm(Optional[BaseChatModel]): A Langchain LLM instance. If not provided, defaults to ChatLLM7api_key(Optional[str]): API key for LLM7. If not provided, uses the environment variable LLM7_API_KEY or the default free tier
Getting an API Key
You can get a free API key for LLM7 by registering at https://token.llm7.io/
Default LLM
The package uses ChatLLM7 from langchain_llm7 by default. The free tier rate limits are sufficient for most use cases of this package. If you need higher rate limits, you can provide your own API key.
Support
For issues and questions, please visit our GitHub issues page
Author
- Eugene Evstafev - hi@euegne.plus
- GitHub: chigwell
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file csrf_sentry-2025.12.21200926.tar.gz.
File metadata
- Download URL: csrf_sentry-2025.12.21200926.tar.gz
- Upload date:
- Size: 6.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4180cbc257da3e709d4004923d1ad8495b3f39a977926a381eac801cb81a8f3a
|
|
| MD5 |
3e9bced0df405325f91fa1163bc76fa4
|
|
| BLAKE2b-256 |
f762c0adc46af06b6d80ccf24fbb8560f3611933e7dcb4d80ef3cbf4d1fd300c
|
File details
Details for the file csrf_sentry-2025.12.21200926-py3-none-any.whl.
File metadata
- Download URL: csrf_sentry-2025.12.21200926-py3-none-any.whl
- Upload date:
- Size: 6.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d980236ae627987cc23b63bc72921244ade2684b77eb3f36c97f19a6900dee7b
|
|
| MD5 |
de547c3db0d492ce012192d7fa807ba1
|
|
| BLAKE2b-256 |
32dac9fd6ee9dc0f542e5a8aaf0012de2690d671b51ee9dbe73b0e10e018cd95
|