[API reference](https://evolu.dev/docs/api-reference) › [@evolu/common](https://evolu.dev/docs/api-reference/common) › [local‑first/Schema](https://evolu.dev/docs/api-reference/common/local-first/Schema) › ValidateNoSystemColumns

```ts
type ValidateNoSystemColumns<S> = keyof S extends infer TableName
  ? TableName extends keyof S
    ? keyof S[TableName] extends infer ColumnName
      ? ColumnName extends keyof S[TableName]
        ? ColumnName extends "createdAt" | "updatedAt" | "isDeleted" | "ownerId"
          ? SchemaValidationError<`Table "${TableName & string}" uses system column name "${ColumnName & string}". System columns (createdAt, updatedAt, isDeleted, ownerId) are added automatically.`>
          : never
        : never
      : never
    : never
  : never;
```

Defined in: [packages/common/src/local-first/Schema.ts:313](https://github.com/evoluhq/evolu/blob/e7144e2bbe9069362b62dec1b64a8aa922b8f1b0/packages/common/src/local-first/Schema.ts#L313)