Crate ruvector_security

Crate ruvector_security 

Source
Expand description

RuVector Security Utilities

This crate provides security primitives for the RuVector vector database:

  • Path Validation: Prevents path traversal attacks (S-3)
  • Authentication: Token-based authentication middleware (S-1)
  • CORS Configuration: Configurable CORS policies (S-2)
  • Rate Limiting: Token bucket rate limiter (S-5)
  • FFI Safety: Safe pointer handling utilities (S-4, S-6)

§Example

use ruvector_security::{PathValidator, SecurityConfig};

let validator = PathValidator::new(vec!["/data".into()]);
assert!(validator.validate("/data/vectors.db").is_ok());
assert!(validator.validate("/etc/passwd").is_err());

Re-exports§

pub use auth::AuthConfig;
pub use auth::AuthMiddleware;
pub use auth::AuthMode;
pub use auth::BearerTokenValidator;
pub use auth::TokenValidator;
pub use cors::CorsConfig;
pub use cors::CorsMode;
pub use error::SecurityError;
pub use error::SecurityResult;
pub use ffi::validate_ptr;
pub use ffi::FfiError;
pub use ffi::TrackedAllocation;
pub use middleware::auth_layer;
pub use middleware::rate_limit_layer;
pub use middleware::security_layer;
pub use middleware::SecurityState;
pub use path::PathValidator;
pub use rate_limit::OperationType;
pub use rate_limit::RateLimitConfig;
pub use rate_limit::RateLimiter;

Modules§

auth
Authentication middleware and token validation
cors
CORS (Cross-Origin Resource Sharing) configuration
error
Security error types
ffi
FFI safety utilities
middleware
Axum middleware layers for security
path
Path validation utilities
rate_limit
Rate limiting using token bucket algorithm

Macros§

safety_doc
Helper macro for documenting unsafe blocks

Structs§

SecurityConfig
Security configuration combining all security settings