Hi everyone,
Great work on the spec!
If some of my statements are wrong assumptions please do correct me!
A few things I would like to get clarified / have questions / concerns about:
Privacy. Payment relationships should not be broadcasted publicly. They should be retained and owned by the user (whether that is the payee and/or the payment receiver; I am open), they should be portable with supported platforms where the creator and/or the fan sign into.
Waiting for permissioned data is key for ensuring interoperability with the bsky app. But I would like to see implementations of private attestations that are user owned, portable built on OTHER solutions, other than PBC software. I am looking at Stratos (or a fork of Stratos) - used explicitly for adult content platforms and adult only communities.
As a former adult content creator, I do not desire to publicly announce who my fans are. Nor do I want to risk any of my fans to dox themselves by accident (this is about DIDs.. not gonna get into this here).
Moderation. Moderation is a key responsibility a platform takes on. Especially as an adult content platform, legal and regulatory requirements are increased.
What happens when a creator uploads illegal or copyrighted content, or the platform has to take down content due to requests from their payment service provider (PSP)? How does this spec ensure that all inter-operating platforms communicate via the spec? If the spec does not solve for this how can we build systems using Ozone, Osprey (et al.,) to ensure that the spec outlines clear moderation systems that support this purpose for spec-following platforms so that we can protect people from harmful or illegal content. And how do we kick out services that do not follow Moderation laws in an age where the ones supposed to be protecting people are the ones harming people. I don’t want a system that is permissionless. It needs to gate actors, if the system is permissionless a single bad actor could mess it up, if its gated, they can be off boarded.
No revocation primitive. Nothing in the lexicon says “this attestation is no longer valid as of T.” attested.network has no record type for that. (This is critical for moderation requirements, not a nice-to-have). A creator needs to be able to revoke/block fans that are harassing/harmful. How does this translate across the spec?
Recurring subscriptions. The world runs on subscriptions, the network.attested.payment.recurring records is a great start but what’s missing is (1) an expiration/validity-window primitive, and (2) a mid-cycle state-change primitive (to revoke a state for legal and moderation purposes).
Trial periods. “7 days free, then 10/mo”. Missing entirely.
Fee updates. What happens if the creator changes their fee from 5/month to 10/mo ?
Affirmative cancellation. There is no cancellation record. The spec doesn’t define a termination signal, which means verifiers have no positive way to know a subscription has ended vs. is temporarily delinquent vs. is still active and just between bills, vs. the fan has cancelled their subscription before being charged again (but still can access content until the billing period ends).
Attestations should either auto-expire, or have a timestamp or other type of mechanism for understanding when the fan needs to pay again. So that a platform can attest a payment was made on T. and is valid for T+1/7/30/365 days.
Malicious actors and security. How do you ensure that a malicious actor does not receive full-account permissions (which is easy to get by pretending to be an ethical new project) and starts deleting attestations and thereby severing the actual platforms experience that the fan and creator have established.
If your change from atprotofans to attestednetwork excludes adult content creators, I understand. Its a hard problem. If the change in brand does not exclude these groups I would be happy to get involved in this working group.