person_write

shallow

app.seamark/seamark · Verify this server

Change the caller's private address book of people — crew and contacts (create, update, delete, unlink_account, mark_self, unmark_self, invite, accept_invitation). Personal data (birth date, passport) is never shared across users. `linkedAccount` reports whether this person has accepted an invitation and is linked to a Seamark account. `isSelf` marks the ONE person in the caller's book that is the caller, so voyages with them on the crew list count as the caller's own. `invite` mails a Seamark invitation to a person who crews at least one of the caller's trips (409 `invitation_no_trips` otherwise — the person must be on a trip's crew first); accepting it links their account to this person, which opens EVERY trip of the caller's they crew, past and future, so the mail lists all of them. It is rate-limited to one send per person per minute and 3 sends per recipient address per hour (a budget shared with trip_write's `announce`, keyed on the address rather than the feature), remembers the address on the person's `email` (advancing the person's `updatedAt` version token — the response carries the new value), and re-inviting replaces the previous invitation, so a mistyped address's link stops working. `accept_invitation` is the other side: it binds the CALLER's own account to the person named by the token, requires the caller's address to match the one invited, and returns every trip it opened. `unlink_account` revokes a person's account link everywhere at once AND cancels any invitation to that person that has not been accepted yet — a pending invite mail stops working, which is what makes the revocation final rather than something the other party can undo by re-clicking their link. It is idempotent, and on someone who was never linked its only effect is to cancel a pending invitation. `mark_self` sets `isSelf` (marking someone new moves the marker off whoever held it — at most one person is the caller), `unmark_self` clears it. Both are idempotent and unrelated to `linkedAccount`/invitations — "this is me" is the caller's own identity, not an access grant. IDs are 6-character case-sensitive alphanumeric strings. Timestamps are UTC ISO 8601. Distances are integer meters. Durations are integer seconds.

100.0/100

1 trials · measured 3 days ago

person_write scores 100.0/100 on Vouch's measured behaviour index, from 1 real invocation trials against app.seamark/seamark, measured 20 Oct 2026 under methodology v0.2.0. Every measured component scored 100.

Component breakdown

ComponentWeightValue
Reliability35%not applicable
Schema integrity25%100.0
Failure behaviour15%not applicable
Latency15%not applicable
Concurrency10%not applicable

Tool details

Transport
remote
Credential class
self-provisionable
Input schema
not declared
Output schema
not declared
Side-effect classification
unclassified

Score history

DayScoreTierMethodology
2026-10-20100.0shallowv0.2.0

Probe evidence

ProbeOutcomes
schema_integritypass: 1

Raw request/response logs are not archived yet — the outcome counts above are drawn directly from every recorded trial.

Embed this score

Available for every tool, scored or not — not a verification perk. Always links back to this page.

Vouch score: person_write
[![Vouch score](https://vouch.tools/api/tools/6210a03f-6b61-429e-970b-c5021a1dd093/badge.svg)](https://vouch.tools/tools/6210a03f-6b61-429e-970b-c5021a1dd093)
person_write — Vouch