Validatedata – lightweight inline data validation for Python
Inline validation without schema classes, but Pydantic already owns this space.
Blocks DNS rebinding and SSRF redirects where URL validation fails.
Backend developers, Python web framework maintainers, security teams
WAF-level SSRF protection (Cloudflare, AWS WAF) · urllib3 security patches · Flask-Security extensions
For every request, it will: 1. Resolve DNS first with single getaddrinfo() call 2. Validate all IPs, and reject if any resolved address is private/reserved 3. Pin the connection by rewriting the URL to validated IP, and sets the Host header and TLS SNI to original hostname 4. Re-validates on each redirect hop.
This blocks most SSRF attack methods: DNS rebinding, address obfuscation, and redirects.
Also see our launch post here: https://tachyon.so/blog/ssrfs-trickiest-issue
Inline validation without schema classes, but Pydantic already owns this space.
Pydantic alternative for when defining full model classes feels like overkill.
Pydantic alternative for scripts and CLIs, but overlaps with existing inline validation approaches.
One dependency and 30KB download limit, but link-preview-js already exists.
Rule-based function dispatching beats functools.singledispatch for complex validation logic.
Whoosh API nostalgia meets Rust speed without Elasticsearch overhead.