> ## Documentation Index
> Fetch the complete documentation index at: https://docs.myme.so/llms.txt
> Use this file to discover all available pages before exploring further.

# Provenance

> Honest source — who wrote an item

Every item carries a `source` system field that records which app or credential wrote it. Combined with `source_id`, it forms the natural key behind the [upsert behavior](/concepts/items#natural-key-upsert) and supports audit trails and cross-app data inspection.

## `source`

The human-readable display name of the app or credential that wrote the item.

* Examples: `"Readwise Reader"`, `"Marfa Web Console"`, `"Marfa Sync (Claude)"`.
* **In server-synced mode**, stamped from the credential server-side. **Not forgeable.** A client cannot choose a different `source`; whatever it sends is ignored.
* In local-only and third-party-synced modes, stamped by the SDK from app identity. Best-effort; there's no server to enforce.

Registered at credential creation time. Uniqueness enforced per space (and globally for published apps), so two apps can't claim the same `source` in the same space.

## Other client-supplied fields

A few fields are client-supplied and preserved as written but **not validated or authenticated**:

* **`device`** — optional human-readable device label (`"iphone-aic-15"`, `"MacBook Pro"`). A label, not an identifier — two clients sending the same label claim the same device.
* **`capture_latitude`, `capture_longitude`** — where the device was at item creation. Distinct from any subject coordinates in properties.
* **`timestamp`** — the user-meaningful time for the item (e.g. when a photo was taken).

<Warning>
  These are hints, not assertions. A malicious or buggy client can send any value. Downstream consumers that need trustworthy values should treat them as untrusted input.
</Warning>

Custom-type schemas cannot redeclare any of these as properties — they live as first-class wire fields on every item. Registration is rejected `400 property_shadows_field`. See [Reserved field names](/concepts/authoring-types#reserved-field-names) for the full list and the rationale.

## Field enforcement summary

| Field                                                                      | Enforcement                                                                                      |
| -------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ |
| `id`, `created_at`, `updated_at`, `version`, `schema_version`, `tenant_id` | Server-managed. Always set server-side.                                                          |
| `source`                                                                   | Credential-stamped in server-synced mode. Non-forgeable. SDK-stamped best-effort in other modes. |
| `timestamp`, `device`, `capture_latitude`, `capture_longitude`             | Client-supplied, preserved as written, not validated.                                            |
| Everything in `properties`                                                 | Client-supplied, type-validated. The schema validates shape; it doesn't attest to truth.         |
