Namespace Kuestenlogik.Bowire.Linting.Rules

Classes

MissingPaginationRule

Flags a method that returns a list (a repeated field in the response) but accepts no pagination parameter. An unbounded list response is a scaling and denial-of-service risk: it grows with the data set and there is no way for a caller to ask for a page.

MissingVersioningRule

Flags a service that exposes no version at all — neither a declared Version nor a version marker on any route (/v1/, .v2., _v3). An unversioned API cannot evolve without breaking its consumers.

PiiResponseFieldRule

Flags a response that carries a field which looks like personal data (PII) — an email, phone number, SSN, date of birth, address, passport or tax id. Unlike SensitiveResponseFieldRule (secrets / credentials, a likely defect at High), returning PII is a privacy design smell worth a second look rather than an outright leak, so it carries Medium severity.

SensitiveResponseFieldRule

Flags a response that carries a field which looks like a credential or secret (password, api key, token, SSN, card number, ...). Returning secrets is a classic data-exposure defect that a schema makes visible before a single request is sent.

StringTimestampFieldRule

Flags a field that names a point in time (created_at, updatedAt, timestamp, *_time) but is typed as a bare string. A string time value loses its shape: it can't be validated, compared or formatted without out-of-band knowledge. Prefer a typed timestamp / date. Low severity — a modelling nit, not a defect.