---
title: "ContactKind"
description: "one way a person or a company is reached or found anywhere on the web, as the extension reads it on every page and the accept keys it: an email, a phone, a handle on a platform, an invite, a site; found by the addresses of links, by a pattern over the visible text, or by a bare handle near a cue word; it becomes an…"
section: concepts
address: /concepts/contactkind
contract: 0476e35e6e275db5
---

# ContactKind

one way a person or a company is reached or found anywhere on the web, as the extension reads it on every page and the accept keys it: an email, a phone, a handle on a platform, an invite, a site; found by the addresses of links, by a pattern over the visible text, or by a bare handle near a cue word; it becomes an…

[figure: ContactKind is a row at platform scope. The drawing shows its fields and the objects that they point at.]

| property | value |
|---|---|
| kind | row |
| scope | platform |
| key | its name |
| store | postgres |
| family | sources |



## Fields


| field | type | required | note |
|---|---|---|---|
| `name` | `text` | yes |  |
| `namespace` | `text` | yes | the identifier namespace a found value becomes |
| `of` | `one of a person \| a company \| either` | yes |  |
| `link_patterns` | `[text]` | yes | address patterns of links that are this kind, a * for any run; mailto:* and tel:* included |
| `text_pattern` | `text` | no | a regular expression over the visible text, with one capturing group for the value |
| `cue_words` | `[text]` | yes | words near a bare @handle that make it this kind |
| `platform` | `text` | no | the platform whose own pages make a bare @handle this kind |
| `normalisation` | `one of lowercase \| strip the at sign \| strip the scheme \| digits only \| the host only \| as is` | yes |  |
| `trust_rank` | `count` | yes | 1 decides sameness, 2 supports it, 3 is a hint |
| `catch_all` | `bool` | yes | read last, for a link that no other kind claims |



## Routes that use it
No route takes or returns ContactKind directly. The record holds it, and the objects that point at it reach it.
