SecurityResult class

The outcome produced by a single SecurityLayer or by the SecurityEngine after running the full pipeline.

This is intentionally a plain, immutable data class so it is cheap to create, easy to log, and trivial to serialize if needed later.

Constructors

SecurityResult({required bool allowed, required double riskScore, required List<String> flags, required String message, required SecurityVerdict verdict, String? layerName})
Creates a result. Prefer the allow, block, or flag factories for consistent verdict/allowed pairing.
const
SecurityResult.allow({double riskScore = 0.0, List<String> flags = const [], String message = 'OK', String? layerName})
Convenience constructor for a fully allowed result.
factory
SecurityResult.block({double riskScore = 1.0, List<String> flags = const [], required String message, String? layerName})
Convenience constructor for a blocked (rejected) result.
factory
SecurityResult.flag({required double riskScore, List<String> flags = const [], required String message, String? layerName})
Convenience constructor for a result that is allowed to continue but flagged for review (e.g. suspicious but not conclusive).
factory

Properties

allowed → bool
Whether the request is allowed to continue through the pipeline.
final
flags → List<String>
Human-readable flags describing why a layer reacted the way it did. Example: "missing_signature", "rate_limit_exceeded".
final
hashCode → int
The hash code for this object.
no setterinherited
layerName → String?
The name of the layer that produced this result. Populated by the engine when aggregating results; individual layers may leave it null.
final
message → String
A short human-readable explanation of the decision.
final
riskScore → double
A normalized risk score between 0.0 (no risk) and 1.0 (maximum risk).
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
verdict → SecurityVerdict
The verdict derived from allowed and riskScore. Layers can set this explicitly, or rely on SecurityResult.allow/block/flag factories which set it consistently.
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toJson() → Map<String, dynamic>
Serializes this result to a JSON-compatible map.
toString() → String
A string representation of this object.
override
withLayerName(String name) → SecurityResult
Returns a copy of this result with the given layerName attached.

Operators

operator ==(Object other) → bool
The equality operator.
inherited