Relay

Sign in to continue.

You need a Relay account to view or claim this relay.

Public · shared openly

PRD Thread: Transfer URL Preview

Context for the transfer claim endpoint, visibility model, and API contract for the public card integration.

The endpoint returns { public: true } only when visibility="public" and not expired. Every other case returns the identical { public: false }.

Sign in to claim
Z5QHE7
Ready to claim

Something's waiting for you.

Create an account or sign in to receive this transfer. Takes under a minute.

or
✓ Shipped · Jul 18 (relay-platform #1933, relay-app #619)
K8GDZG
Your own relay

Daily workflow — loading and saving context

Jul 18, 2026

Before: "From: Relay Platform" — indistinguishable from an actual sender named "Relay Platform." Fix: _evaluate_claim_access() already computed a self_view decision internally and discarded it before the preview responded — now surfaced as self_claim: true, rendered as this badge instead of any sender line.
✓ Shipped · Jul 18 (relay-platform #1933, relay-app #619)
RCTX750
Erik Christensen · unverified Little Rocket Broadcast

Work order: Campaign funnel implementation

Jul 18, 2026

Fields come from data the backend already had — sender_name/sender_verified (users table + the Loop-membership check already used elsewhere), org_name (orgs table), visibility (transfer_configs, already queried by handle_transfer_status). None of it was new access — _evaluate_claim_access() had already authorized this content; this only adds identity/scope context on top.
Transfer claimed It's in your inbox now.
Z5QHE7
Claimed by you

It's yours.

Your account is ready. The transfer is waiting in your inbox.

Z5QHE7
Expired

This transfer has expired.

The sender can reissue it. Let them know you were here.

Z5QHE7
Claimed

This one's been received.

It's a single-claim transfer. Want to know if a new one is shared?

XXXXXX

No transfer found.

Check the code and try again, or ask the sender to reshare.

Z5QHE7 Active
PRD Thread: Transfer URL Preview Active
Created Jun 10 · Expires Jun 14 · 1 of 3 claims used
Claims
EC
erik@erikchristensen.ca Jun 11 · 9:14am
Pending interest
2 waiting
Visibility
Max claims
3
Analytics
View full report
47
Views
12
CTA clicks
25.5%
CTA rate
1 / 3
Claims used
Viewed
47
Full card
26
Clicked
12
Claimed
1
Direct / unknown 34
Slack 9
Email 4
Z5QHE7
#316 · signed-in direct claim Ready to receive

You've got a relay waiting.

From Erik Christensen · sent Jul 16. You're already signed in — one click and it's yours.

Z5QHE7
Gap · not yet an issue Ready to receive

This one's shared — you can receive it too.

Broadcast relay from Erik Christensen. Receiving it doesn't use it up for anyone else.

3 people have already received this · unlimited

A broadcast relay's status stays pending even after others claim it — so the fix for the wrong-account bug (check status == "pending" before 403ing) has to keep working here too, not just for the single-claim case.
Z5QHE7
#317 · already claimed by self Received by you

This one's already in your inbox.

You received this relay on Jul 16 — no need to receive it again, just open it.

Z5QHE7
Gap · not yet an issue Already received

Someone already received this one.

This is a single-claim relay and it's already been received by another account. Ask Erik for a new link if you still need it.

Why this needs its own state: today it collapses into the same 403 as a genuine wrong-account attempt (see the bug tab). A recipient who's simply too late shouldn't read "belongs to another account" — that phrasing implies they made a mistake.
Z5QHE7
#321 · multi-claim slots full All slots filled

All 3 slots have been filled.

This was a limited multi-claim relay from Erik Christensen, and every slot is taken.

Z5QHE7
#318 · workspace-locked state Workspace locked

This relay belongs to a different workspace.

Switch to Christensen Digital to view it, or ask Erik to invite you.

Z5QHE7
#319 · invite-only state Invite only

You're not on the recipient list.

Erik restricted this relay to specific people. Request access and he'll get notified.

Z5QHE7
#320 · pending approval state Pending approval

Your request was sent.

Erik will get a notification. We'll email you the moment it's approved.

Z5QHE7
Expired

This relay has expired.

Ask Erik to reissue it — expired relays can't be received, signed in or not.

Edge case: a background sweep flips status to expired on a delay. There's a window right at expires_at where a relay is logically dead but still reads pending — the claim check should read expires_at directly, not just trust status.
Z5QHE7
Gap · not yet an issue Removed

This relay isn't available anymore.

Erik removed it before it was received.

Currently: a deleted, never-claimed relay 404s and falls into the generic claim form, which then fails to find it and shows a bare error. Same dead end as the pending-relay bug — just for a different reason.
✓ Shipped · Jul 17–18 (relay-platform #1915, #1918)
app.relayctx.com/transfer/K8GDZG
K8GDZG
Ready to receive

You've got a relay waiting.

From Erik Christensen · sent Jul 17.

Fix (live): when the relay exists, isn't owned/claimed by the caller, and status == "pending", get_transfer returns 404 instead of 403 — the existing claim-flow fallback takes over on its own. A true 403 is now reserved for already_claimed ("Already received" — see that tab), and a genuinely expired relay returns 410 directly rather than waiting on the background sweep.