Parties
crubal.com/party: who acts. The three caller kinds, what any adopter needs of them, and the facets that access reads. Authentication stays in the host; roles and presets stay in the adopter's package. Any party People Organizations Systems Contact details and tax identity are for the owner's people, never for the public or other members. The host writes the connection through this form (host.md). The form is the party package's so every host writes the same record; the edge that grants what the system asked for is the adopter's (14.9). A person keeps their own details. Who may run it is the adopter's edge (consume on their own record).
Kinds
| Kind | Levels |
|---|
person | person |
organization | organization |
system | system |
Facets
| Key | Type | How many | Values and settings | Same as |
|---|
name | text | one | up to 200 characters | schema:name |
image | image | one | | schema:image |
url | text | one | | schema:url |
email | text | one | | schema:email |
phone | text | one | | schema:telephone |
description | text | one | | schema:description |
roles | link | any | to role | |
memberOf | link | any | to organization | schema:memberOf |
givenName | text | one | | schema:givenName |
familyName | text | one | | schema:familyName |
locale | text | one | | |
timezone | text | one | | |
signedUp | date | one | minute precision | |
legalName | text | one | | schema:legalName |
domain | text | one | | |
taxId | text | one | | schema:taxID |
address | compound | one | street, locality, region, postalCode, country | schema:address |
operator | link | one | to organization | |
systemKind | choice | one | utility, partner, agent | |
scheme | choice | one | oauth2, apikey, basic, none | |
scopes | text | any | | |
requests | text | any | | |
connection | choice | one | connected, expired, revoked | |
connectedAt | date | one | minute precision | |
version | text | one | | |
Classes
Person Person
For person.
| Facet | Asked | Narrowed to | Level |
|---|
name | required | | |
givenName | | | |
familyName | | | |
image | | | |
email | | | |
phone | | | |
locale | | | |
timezone | | | |
roles | | | |
memberOf | | | |
signedUp | | | |
Organization Organization
For organization.
| Facet | Asked | Narrowed to | Level |
|---|
name | required | | |
legalName | | | |
domain | | | |
url | | | |
email | | | |
phone | | | |
address | | | |
image | | | |
description | | | |
taxId | | | |
System System
For system.
| Facet | Asked | Narrowed to | Level |
|---|
name | required | | |
operator | | | |
systemKind | | | |
url | | | |
scheme | | | |
scopes | | | |
requests | | | |
connection | | | |
connectedAt | | | |
version | | | |
roles | | | |
Rules
| Rule | When | Then | Strength |
|---|
emailIsPrivate | | email shown to staff | must |
phoneIsPrivate | | phone shown to staff | must |
addressIsPrivate | | address shown to staff | must |
taxIdIsPrivate | | taxId shown to staff | must |
Use it
package: mine /2026-10-14
owner: example.com
extends: crubal.com/party /2026-10-16
prefixes:
party: crubal.com/party