A shipping label contains more than printer commands. It can contain a customer's name, address, order identifiers, routing data, and barcodes that matter to fulfillment. A remote printing review should therefore follow the content itself, not stop at a generic statement that traffic is encrypted.
This is the current RocketPrint path, the trust boundary at each step, and the gaps a reviewer should know before approving a deployment.
The request begins with a backend credential
Customer applications authenticate to the public print API with an organization-scoped key in the X-API-Key header.
RocketPrint API keys are:
- revealed in plaintext only when they are created;
- stored as SHA-256 hashes rather than recoverable values;
- scoped to one organization;
- independently revocable;
- suitable for issuing one per service or environment.
The practical control is separation. Do not share one production key across a storefront, warehouse integration, developer laptop, and test worker. Separate keys make the source of traffic clear and let you rotate one system without interrupting the others.
Keys belong in backend secret storage. They do not belong in browser code, label content, desktop configuration files, support screenshots, or prompts sent to an AI system.
Every resource is organization-scoped
The API derives the organization from the credential and applies that scope when reading and writing printers, stations, and jobs.
A request for another organization's resource returns not found rather than disclosing whether the identifier exists. Cross-organization checks are enforced in the service and covered by automated tests; the console is not the isolation boundary.
This matters because identifiers eventually appear in logs and support conversations. Knowing a printer or job ID must not be enough to retrieve it.
The station opens the network path outward
RocketPrint Station runs on a machine that can already print locally. It opens an outbound TLS connection to RocketPrint and keeps that connection available for jobs.
There is no inbound listener exposed from the station to the internet. A deployment does not require:
- a port forward;
- an inbound firewall exception;
- a VPN tunnel;
- a static public IP;
- direct cloud access to the printer.
Jobs travel down the connection the station established. This architecture reduces the network surface, but it does not remove the need to manage the station machine. The operating system account, local print queues, software updates, and physical access remain customer-controlled security concerns.
Station identity is not an API key copied to a workstation
An operator signs the station in and authorizes its organization. The station then presents its own authenticated identity when opening the dispatch connection.
The separation matters: a backend key can create and inspect application jobs, while a station credential exists to register local devices and receive work for the authorized organization. One credential is not reused for both principals.
What print content does at rest
RocketPrint persists job content because offline queueing requires it. If a station is asleep when the API receives a label, the platform needs the bytes later when that station reconnects.
Content is excluded from normal API responses and the customer console. Reading a job returns operational metadata—status, timestamps, and a failure reason—not the label bytes.
After a job reaches a terminal state, its stored content is retained for seven days by default and then purged. The job record remains for history and usage; the payload is removed. The retention window is configurable by the operator.
That is a tradeoff, not a claim of zero storage. If your policy requires a shorter interval, decide that before sending production labels and verify the deployed configuration.
Validation and abuse controls
The public API checks content types against an allow-list, caps request and content size, and rate-limits each API key. URI-based content fetching is disabled by default so a station does not become an arbitrary network fetcher.
Rate-limit responses are explicit: callers receive 429 and a Retry-After value rather than an unexplained dropped request.
These controls reduce accidental and abusive input, but they do not make arbitrary untrusted printer-language content harmless. If your application accepts user-authored ZPL or another raw language, validate that input at the business boundary before asking a physical device to interpret it.
What the station observes
The station enumerates printers exposed by the operating system, reports their names and availability, receives jobs for registered printers, executes the local print path, and reports job outcomes.
It is not a remote desktop tool. The intended product path does not browse arbitrary files, capture screens, or open an inbound control channel.
Reviewers should still test the packaged station and verify its network behavior in their own environment. Architecture documentation is a starting point for evidence, not a substitute for it.
Current gaps should remain visible
A useful security page includes reasons to wait. At the time this article was staged:
- code-signing and notarization work for installers was still in progress;
- a customer-visible audit log was not yet shipped;
- SSO and finer-grained customer roles were roadmap items;
- formal availability and data-processing materials were not presented as completed certifications.
These items change over time, so check the current security page rather than treating this scheduled article as an eternal attestation.
A practical approval checklist
Before a production rollout, confirm:
- each backend service has its own key and rotation owner;
- station machines meet your operating-system and physical-access standards;
- outbound destinations and TLS inspection behavior are understood;
- the configured payload-retention window matches policy;
- a test from another organization cannot enumerate your resources;
- logs and support tooling never store print content or plaintext keys;
- the unsigned/signed installer state meets endpoint-management policy;
- known product gaps have explicit owners or acceptance decisions.
Security for physical output is shared. RocketPrint owns the hosted queue, dispatch boundaries, and its station software. Customers own what they submit, where the station runs, who can use their application, and what happens to the label after printing.
The security documentation is the living statement of current controls. The reliability model covers the different question of what each software outcome proves.
END / remote-printing-security-review
More field notes →