person_write
shallowapp.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.
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
| Component | Weight | Value |
|---|---|---|
| Reliability | 35% | not applicable |
| Schema integrity | 25% | 100.0 |
| Failure behaviour | 15% | not applicable |
| Latency | 15% | not applicable |
| Concurrency | 10% | not applicable |
Tool details
- Transport
- remote
- Credential class
- self-provisionable
- Input schema
- not declared
- Output schema
- not declared
- Side-effect classification
- unclassified
Score history
| Day | Score | Tier | Methodology |
|---|---|---|---|
| 2026-10-20 | 100.0 | shallow | v0.2.0 |
Probe evidence
| Probe | Outcomes |
|---|---|
| schema_integrity | pass: 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.
[](https://vouch.tools/tools/6210a03f-6b61-429e-970b-c5021a1dd093)