# AiSecurityReport class

Namespace: [Grasshopper2.Components.Descriptive](https://developer.rhino3d.com/api/gh2/namespace/grasshopper2.components.descriptive.md) · Assembly: [Grasshopper2](https://developer.rhino3d.com/api/gh2/assembly/grasshopper2.md)

```cs
public sealed class AiSecurityReport
```

Output of the pre-compilation syntax scan. Empty [AiSecurityReport.Violations](https://developer.rhino3d.com/api/gh2/type/grasshopper2.components.descriptive.aisecurityreport/violations.md) means the source passes the static safety check; non-empty means it must be rejected and surfaced to the user.

## Constructors

- [AiSecurityReport](https://developer.rhino3d.com/api/gh2/type/grasshopper2.components.descriptive.aisecurityreport/ctor.md)

## Properties

- [IsSafe](https://developer.rhino3d.com/api/gh2/type/grasshopper2.components.descriptive.aisecurityreport/issafe.md)
- [Violations](https://developer.rhino3d.com/api/gh2/type/grasshopper2.components.descriptive.aisecurityreport/violations.md)
