+++
+++

<https://github.com/w3c/activitypub/issues/404>

the Public == as:Public thing doesn't actually work unless you redefine all the addressing properties from `@type: @id` to `@type: @vocab` (which may have other consequences?) but in any case, `Public` is defined in a way that it does nothing

furthermore because `as` is defined as a prefix, you will NEVER encounter `https://www.w3.org/ns/activitystreams#Public` in a properly compacted document

so the only correct way to do public addressing currently is `as:Public`

## tangent: why are we doing pseudo-addressing anyway?

why isn't this some other property or flag somewhere on the object? what is *really* being signaled by the public addressing? spec-wise, it's just that it's available to anyone without auth. so why not have some kinda `accessControl` property or `scope` or whatever, and have that explicitly be type:vocab, and define your scopes in there?