Skip to content

[7/14] spec(core): prohibit onward transfer by default - #296

Merged
tnunamak merged 3 commits into
spec/integration-0902from
spec/int0902-07-working-session-questions
Sep 3, 2026
Merged

tnunamak merged 3 commits into
spec/integration-0902from
spec/int0902-07-working-session-questions

Conversation

@tnunamak

@tnunamak tnunamak commented Sep 2, 2026 •

Copy link
Copy Markdown
Contributor

A recipient could hand its token to an ungranted party and bypass the owner decision that named the recipient.

Proposed rule: A recipient MUST NOT transfer its token or let an ungranted party exercise it; a personal server may issue a fresh owner grant for owner-held data.

Why: The two-grant personal-server arrangement is owner authorization twice, whereas token handoff gives another party access without a new owner grant.

Decision Choice
Proposed text A recipient MUST NOT transfer its token or let an ungranted party exercise it; a personal server may issue a fresh owner grant for owner-held data.
Strongest alternative Permit narrow onward transfer.
Recommendation Accept the proposed rule.
Status Proposed; merge this child to accept it.

Confidence: High on the prohibition; a supervised future transfer mechanism remains undesigned.

Assisted-by: AI

@vercel

vercel Bot commented Sep 2, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
pdpp Ready Ready Preview Sep 3, 2026 10:12am UTC

Request Review

@tnunamak
tnunamak force-pushed the spec/int0902-06-positioning branch from d252af2 to 5a79872 Compare September 2, 2026 23:48
@tnunamak
tnunamak force-pushed the spec/int0902-07-working-session-questions branch from 0a33511 to 971eb4a Compare September 2, 2026 23:48
@tnunamak tnunamak changed the title [7/10] spec(core): forbid third-party onward transfer; record the session questions [7/14] spec(core): prohibit onward transfer by default Sep 3, 2026
@tnunamak
tnunamak force-pushed the spec/int0902-07-working-session-questions branch from 971eb4a to f9fc4d0 Compare September 3, 2026 01:02
@tnunamak
tnunamak force-pushed the spec/int0902-06-positioning branch from 5a79872 to ca7aa0c Compare September 3, 2026 01:02
@tnunamak
tnunamak force-pushed the spec/int0902-06-positioning branch from 9e8c011 to 128b3be Compare September 3, 2026 01:25
@tnunamak
tnunamak force-pushed the spec/int0902-07-working-session-questions branch from b11ce05 to ead176e Compare September 3, 2026 01:26
@tnunamak
tnunamak force-pushed the spec/int0902-07-working-session-questions branch from ead176e to cd42245 Compare September 3, 2026 01:35
@tnunamak
tnunamak force-pushed the spec/int0902-07-working-session-questions branch from cd42245 to cbdea32 Compare September 3, 2026 01:40
@tnunamak
tnunamak force-pushed the spec/int0902-07-working-session-questions branch from 6ebcf44 to ec7b965 Compare September 3, 2026 01:53
@tnunamak
tnunamak force-pushed the spec/int0902-06-positioning branch from 128b3be to 3cd6c13 Compare September 3, 2026 08:57
@tnunamak
tnunamak force-pushed the spec/int0902-07-working-session-questions branch from ec7b965 to 18e5527 Compare September 3, 2026 08:57
OWNER-DECISION: not normative. Three open questions recorded, no
requirement added or changed. Not ratified.

Source: PDPP working session on grants, 2026-08-19, recapped in
#vana-org by Kat:
https://vana-org.slack.com/archives/C0B9AKY6ZDH/p1787246400660469
and in the session summary:
https://vana-org.slack.com/archives/C0B9AKY6ZDH/p1787249010667589

The recap listed six questions and named the owner as the next step on
several. Grepping the specification set for each: subgrants, change of
client ownership, undisclosed sub-processing, ISO MyTerms and bulk export
appear nowhere in any spec-*.md file. They existed only in Slack and in
the session recording. Three entries are added so they are referenceable
from Core and survive the next person who looks.

The other two questions in that recap already have homes and are not
duplicated here: cursor-based sync prior art (WebDAV report/sync token and
the rest) is a design input rather than an open question, and the adoption
argument is not a specification concern.

Subgrants and change-of-ownership are stated as questions with a v0.1
posture, not as answers. The bulk export entry records that half of it is
already decided -- owner self-export is a SHOULD-level RS conformance item
in Core Section 9 -- so the open part is only the client-under-grant case.

The change-of-ownership entry says `client_claims` is not an ownership
record and must not be read as one. That is a reading of the existing
trust-boundary text, which already says client claims are self-asserted,
unverifiable, and outside the resolved grant. If it reads as a new
restriction rather than a restatement, it should be cut.

Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
@tnunamak
tnunamak force-pushed the spec/int0902-06-positioning branch from 3cd6c13 to 23c3152 Compare September 3, 2026 10:11
@tnunamak
tnunamak force-pushed the spec/int0902-07-working-session-questions branch from 18e5527 to 25a599c Compare September 3, 2026 10:11
Base automatically changed from spec/int0902-06-positioning to spec/integration-0902 September 3, 2026 10:29
@tnunamak
tnunamak marked this pull request as ready for review September 3, 2026 10:30
@tnunamak
tnunamak merged commit 1087a92 into spec/integration-0902 Sep 3, 2026
13 checks passed
@tnunamak
tnunamak deleted the spec/int0902-07-working-session-questions branch September 3, 2026 10:30

This branch was successfully deployed

1 active deployment
Preview — 25a599c9 Deployed Sep 3, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant