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.

Sources