pushify.me
Private beta

PRIVATE SIGNAL NETWORK01

Your signals
find you.

Give every script, service, and bot a path through the noise. One private endpoint carries the right message to your phone—or any listener in your network.

SEND A SIGNAL HTTPS
$ curl pushify.me/deploys \
  -H "Authorization: Bearer ••••••" \
  -d 'Deploy complete'
01 Private 02 Channel based 03 Instant
CHANNEL / OPS SIGNAL / RECEIVED
9:41
PUSHIFY / CANOPYYour signals.
InboxSendSettings
All · 2ops · 1alerts · 1

OPS

Deploy complete pushify.me is live and healthy.
!

ALERTS

Disk space warning VPS storage crossed 80%.
Read the beta manual

Built for the things that should not go unnoticed.

Tommy Mathisen

02 WHAT IT DOES

More than a ping.

Start with a title. Add structure, automation, or a phone answer only when you need it.

NOTIFY

Send the message.

A script, service, or bot can reach your phone with one authenticated request.

Title onlyHTTPS links

STRUCTURE

Keep the useful context.

Add channels, severity, event type, JSON data, source, and correlation IDs.

DedupeExpiry

INTERACT

Let the phone answer.

Send buttons or a small native form, then use the typed answer in the service that asked.

SEND FROM PHONE

Skip the typing.

Use presets, recent sends, quick choices, and launcher shortcuts from Android.

PresetsRecents

REPLAY

Pick up where you left off.

Poll durable history or stream events and phone answers with a saved cursor.

SSELinux listener

CONTROL

Give each service its lane.

Use scoped publisher and listener keys with exact channel and event-type access.

PublishConsume

PRIVATE GROUPS

Choose who belongs.

Owners and managers control membership, roles, invitations, history access, and channel policy.

InvitesRolesOwnership

SENSITIVE EVENTS

Keep less on the phone.

Set an absolute expiry, delete after opening, or issue an authenticated remote channel purge.

Auto-deleteRemote purge

LIBSIGNAL E2EE

Test the encrypted path.

Controlled private-beta channels can use per-device libsignal ciphertext and generic Firebase wake-ups.

Pairwise keysEncrypted answers
01 Duplicate-safe sends 02 Expiring events 03 90-day replay 04 Scoped credentials

03 WHERE IT FITS

Useful when timing matters.

Pushify turns background work into a signal you can see, inspect, and answer without watching another dashboard.

DEPLOY

Release finished.

Tell the operator whether production is healthy and link directly to the run.

Build this signal
BACKUP

Backup needs attention.

Escalate a failed job while routine success messages stay in their own channel.

Use channels
DECISION

Automation needs an answer.

Ask for approval or structured input, then continue from the authenticated phone response.

See interactive actions
SERVER

Capacity is running low.

Send severity, context, and a safe button to request fresh diagnostic details.

Add an action
JOB

The long task is done.

Stop checking a terminal tab. Let the process report completion exactly once.

Prevent duplicates
LISTENER

Another service should react.

Replay durable history or follow the stream with a cursor-backed Linux handler.

Follow the feed

04 THE FULL LOOP

Send. Answer. Continue.

The notification can be the start of a workflow, not the end of one.

01

YOUR SERVICE

Ask a clear question.

POST /api/v1/push
02

YOUR PHONE

Tap instead of typing.

03

YOUR AUTOMATION

Receive a trusted answer.

{ "action_id": "approve" }

05 CLEAN EXAMPLES

Small request. Useful result.

These are real Pushify payloads. The bearer token stays private on the sender.

01Send a notification

Only the title is required.

curl https://pushify.me/backups \
  -H "Authorization: Bearer $PUSHIFY_PUBLISHER_CREDENTIAL" \
  -d 'Backup complete'
02Ask for an answer

Safe actions can sit on the notification. Destructive choices ask first.

curl https://pushify.me/api/v1/push \
  -H "Authorization: Bearer $PUSHIFY_PUBLISHER_CREDENTIAL" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Disk space is filling up",
    "channel": "alerts",
    "severity": "warning",
    "action_ttl_seconds": 3600,
    "actions": [
      {"id":"details","label":"Get details","quick":true,"closes":false},
      {"id":"ignore","label":"Ignore","style":"destructive","confirmation":"Ignore this warning?"}
    ]
  }'
03Read the answer

Poll when convenient, or use the SSE stream and bundled Linux listener.

curl "https://pushify.me/api/v1/responses?after=0" \
  -H "Authorization: Bearer $PUSHIFY_PUBLISHER_CREDENTIAL"
PHONE RESPONSE { "action_id": "details", "values": {} }

06 PRIVATE-BETA FAQ

Before you ask.

The short version: the system is real and in active use, but it is not ready for public accounts or app distribution yet.

Can I use Pushify today?+

Not unless you are already part of the private beta. Public registration and access requests are not open.

Can I download the Android app?+

No. The Android client is still being tested privately and no APK or store release is available to the public.

When will the public release happen?+

After the current stability test and another documentation review. There is no announced public date yet.

Will the API or interface still change?+

Possibly. Core behavior is working, but details may change while the private beta is active. The manual is marked accordingly.

Which phones are supported?+

The current client is for Android. No iOS client has been announced.

How are notifications delivered?+

Pushify persists the event and uses Firebase Cloud Messaging to wake Android. Ordinary channels may include notification content in the Firebase payload. End-to-end encrypted channels send a generic wake-up and let the app fetch per-device ciphertext.

Where can I learn about privacy and security?+

Read the security and privacy overview for stored data, credential boundaries, retention, and third-party transport.

07 PRIVATE BETA

One more careful lap.

Pushify is undergoing final private testing. Public accounts, access requests, and Android downloads remain closed while behavior and documentation settle.

Testing in progress