diff --git a/CHANGELOG.md b/CHANGELOG.md
index a5f20dc..88e98cc 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
+## [[v0.4.1](https://github.com/The-FireHub-Project/Runtime/compare/v0.4.0...v0.4.1)] – 2026-10-30
+
+### Added
+* Add `Filter` class for PHP runtime filtering utilities in `Runtime` by @dieselxxx
+
## [[v0.4.0](https://github.com/The-FireHub-Project/Runtime/compare/v0.3.3...v0.4.0)] – 2026-10-29
### Added
diff --git a/README.md b/README.md
index 87a1ac4..f9fc763 100644
--- a/README.md
+++ b/README.md
@@ -7,12 +7,12 @@
PHP Runtime Foundation
@@ -22,25 +22,46 @@
/>
-[](https://github.com/The-FireHub-Project/Runtime/actions/workflows/PHPStan.yml)
-[](https://github.com/The-FireHub-Project/Runtime/actions/workflows/PHPUnit.yml)
-[](https://app.codecov.io/gh/The-FireHub-Project/Runtime/tree/develop)
-
-
+
+
+
-
+
-
+
+
+
+
+
+
+
+
+
+ * Value to filter. + *
+ * @param int $filter [optional]+ * The filter to apply. Can be a validation filter by using one of the FILTER_VALIDATE_* constants, a + * sanitization filter by using one of the FILTER_SANITIZE_* or FILTER_UNSAFE_RAW, or a custom filter by using + * FILTER_CALLBACK. + *
+ * @param array+ * Either an associative array of options, or a bitmask of filter flag constants FILTER_FLAG_*. + * + * If the filter accepts options, flags can be provided by using the "flags" field of array. + *
+ * + * @return mixed On success returns the filtered data. On failure false is returned, unless the + * FILTER_NULL_ON_FAILURE flag is used, in which case null is returned. + */ + public static function value (mixed $value, int $filter = FILTER_UNSAFE_RAW, array|int $options = 0):mixed { + + return filter_var($value, $filter, $options); + + } + + /** + * ### Gets multiple variables and optionally filters them + * @since 1.0.0 + * + * @param array+ * An associative array containing the data to filter. + *
+ * @param array+ * Either an associative array of options, or the filter to apply to each entry, which can either be a validation + * filter by using one of the FILTER_VALIDATE_* constants, or a sanitization filter by using one of the + * FILTER_SANITIZE_* constants. + * + * The option array is an associative array where the key corresponds to a key in the input array and the + * associated value is either the filter to apply to this entry, or an associative array describing how and which + * filter should be applied to this entry. + * + * The associative array describing how a filter should be applied must contain the 'filter' key whose associated + * value is the filter to apply, which can be one of the FILTER_VALIDATE_*, FILTER_SANITIZE_*, FILTER_UNSAFE_RAW, + * or FILTER_CALLBACK constants. It can optionally contain the 'flags' key which specifies any flags that apply + * to the filter, and the 'options' key which specifies any options that apply to the filter. + *
+ * @param bool $add_empty [optional]+ * Add missing keys as null to the return value. + *
+ * + * @return array+ * Name of a filter to get. + *
+ * + * @return int|false D of a filter on success or false if filter doesn't exist. + */ + public static function id (string $name):int|false { + + return filter_id($name); + + } + + /** + * ### Gets a specific external variable by name and optionally filters it + * @since 1.0.0 + * + * @param 0|1|2|4|5 $type+ * One of the INPUT_* constants. + *
+ * @param string $name+ * Name of a variable to filter inside the corresponding type superglobal. + *
+ * @param int $filter [optional]+ * The filter to apply. Can be a validation filter by using one of the FILTER_VALIDATE_* constants, a + * sanitization filter by using one of the FILTER_SANITIZE_* or FILTER_UNSAFE_RAW, or a custom filter by using + * FILTER_CALLBACK. + *
+ * @param array+ * Either an associative array of options, or a bitmask of filter flag constants FILTER_FLAG_*. + * + * If the filter accepts options, flags can be provided by using the "flags" field of array. + *
+ * + * @return mixed Value of the requested variable on success, false if the filter fails, or null if the var_name + * variable is not set. If the flag FILTER_NULL_ON_FAILURE is used, it returns false if the variable is not set + * and null if the filter fails. + */ + public static function input (int $type, string $name, int $filter = FILTER_UNSAFE_RAW, array|int $options = 0):mixed { + + return filter_input($type, $name, $filter, $options); + + } + + /** + * ### Gets external variables and optionally filters them + * @since 1.0.0 + * + * @param 0|1|2|4|5 $type+ * One of the INPUT_* constants. + *
+ * @param array+ * Either an associative array of options, or the filter to apply to each entry, which can either be a + * validation filter by using one of the FILTER_VALIDATE_* constants, or a sanitization filter by using one of + * the FILTER_SANITIZE_* constants. + * + * The option array is an associative array where the key corresponds to a key in the input array and the + * associated value is either the filter to apply to this entry, or an associative array describing how and which + * filter should be applied to this entry. + * + * The associative array describing how a filter should be applied must contain the 'filter' key whose associated + * value is the filter to apply, which can be one of the FILTER_VALIDATE_*, FILTER_SANITIZE_*, FILTER_UNSAFE_RAW, + * or FILTER_CALLBACK constants. It can optionally contain the 'flags' key which specifies any flags that apply + * to the filter, and the 'options' key which specifies any options that apply to the filter. + *
+ * @param bool $add_empty [optional]+ * Add missing keys as null to the return value. + *
+ * + * @return array+ * One of INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER, or INPUT_ENV. + *
+ * @param string $name+ * Name of a variable to check. + *
+ * + * @return bool Returns true on success or false on failure. + */ + public static function has (int $type, string $name):bool { + + return filter_has_var($type, $name); + + } + + /** + * ### Returns a list of all supported filters + * @since 1.0.0 + * + * @return list