Separate publishing authority from administration on a Hedera topic
A topic’s submit key controls who may post messages. Its admin key governs administrative changes. Supplying only an admin key can leave a feed open for public submissions.
Set both roles explicitly for a restricted feed
The SDK excerpt builds a private publishing configuration with distinct public keys. Verify the stored topic information after creation. Keep the topic ID and network alongside the expected keys so a writer cannot silently publish to a different topic with a similar memo.
const topic = new TopicCreateTransaction()
.setAdminKey(maintenancePublicKey)
.setSubmitKey(publisherPublicKey);
Exercise the publication failure case
A payer can fund a submission while still lacking the submit signature. In a test environment, compare a correctly authorized submission with one signed only by the payer. A public topic that deliberately omits a submit key needs application-level provenance if readers are expected to trust individual publishers.