Open your project
Use the owner key provided by your operator. It stays in this tab’s session.
Hosting this service yourself?
Create a project using the server’s administrator key. Save the owner key when it appears.
YOUR WORKSPACE
This immediately cancels subscriptions and permanently removes projects, devices and jobs. Billing records may remain with Stripe. Download needed results first.
LOCAL COMPUTE. GLOBAL REACH.
Send a job now. Your computer picks it up when it’s ready. Prompts and results can stay encrypted all the way.
Connect your first device↓ encrypted job
↑ your device connects out
01 / CONNECT
Use the owner key provided by your operator. It stays in this tab’s session.
Create a project using the server’s administrator key. Save the owner key when it appears.
Start your model server, then run the agent on the same computer. No Docker needed for the agent.
Install Node.js 24 or newer, then run npm install -g AGENT_DOWNLOAD_URL. Then run the pairing command below. The code expires after 10 minutes.
The agent checks your runtime and asks which model to allow. Then run pq-agent start.
Copy the public key from pq-agent key to verify your device independently of this service.
Contains a client credential. Do not commit it or embed it in a public website. Each user supplies their own connection.
02 / TRY IT
Your browser’s decryption key stays in local browser storage. Refreshing is safe; clearing site data removes access to old encrypted results.
Your model’s response will appear here. The job can wait safely while your computer is offline.
03 / MAKE IT YOURS
Plain HTML, React, Vue, or a builder that supports custom JavaScript. The SDK encrypts, submits and retrieves.
import { PublicQueue } from '@public-queue/sdk';
const queue = new PublicQueue(connection);
const job = await queue.submit({
model: 'your-local-model',
messages: [{ role: 'user', content: 'Hello!' }]
});
// Save job.id; resume after a refresh.
const result = await queue.wait(job.id);
console.log(result.text);Install with npm install SDK_DOWNLOAD_URL. Or import /sdk.js from this service in a module script. Packages are not published to npm yet.
Prompt, model name and result are encrypted in the browser and on your device. The service sees job status, timing, size and routing metadata.
Verify the device key through the agent. Host your frontend independently if you need to protect against a malicious service operator changing browser code.
Encrypted text can arrive progressively and be replayed after a refresh. Disable streaming if your runtime only returns complete responses. Interrupted inference may run again; completed jobs can be retrieved without re-running the model.