Publishing cockpit

Every account you publish from, on one desk.

Postiva is a self hosted publishing cockpit. You upload the media once, place it on a calendar, and a background worker posts it to Instagram, TikTok and Threads through each platform's official API at the minute you picked. No browser automation, no unofficial endpoints, no third party inbox holding your tokens.

Privacy PolicyTerms of ServiceData deletion

Publishes through

Instagram
Instagram Graph API, Content Publishing
TikTok
Login Kit + Content Posting API
Threads
Threads API

Documented publishing endpoints only. Scope by scope breakdown further down this page.

Takvim

Ağustos 2026
Pzt17
09:00
19:00
Sal18
12:30
Çar19
09:00
16:30
19:00
Per20
12:30
Cum21
09:00
20:30
Cmt22
17:30
Paz23
19:00

Kuyruk

19:00@pixmood.trYayınlandı
19:00@pixmood.appYayınlandı
20:30@thecodevoltKuyrukta
21:00@pixmood.trTaslağa gönderildi
The operator cockpit, rendered from the product's own components with sample data. The panel interface is in Turkish: Takvim is the calendar, Kuyruk the publishing queue, Yayınlandı means published and Taslağa gönderildi means sent to the platform's drafts.

What it does

Six things the panel is actually for. Nothing here is a roadmap item.

One queue behind every account, instead of a reminder per post.

Calendar planning
A month and week view you can drag on. Move a post to a different slot and its jobs are rescheduled with it. Bulk placement lays a folder of videos onto a repeating time template.
Composer
One post, many targets. Every connected account can carry its own caption for the same media, so a Turkish and an English profile do not need two separate posts.
Media library
Upload once and reuse. Files are normalised with sharp and ffmpeg, thumbnails are generated, and identical files are detected by checksum instead of being stored twice.
Queue and retries
Every target is a job row you can read. Failures back off and retry, missed slots are caught up inside a late window you set, and each irreversible API step is checkpointed first so a retry can never publish the same thing twice.
Captions from a persona
Optional. Each account holds a persona: tone, language, emoji level, hashtag style. Captions are drafted from it with Gemini or OpenRouter, and you edit them before anything is queued.
Notifications
Telegram messages when a post goes out with its permalink, when a token is close to expiring, and when a publish fails with the reason the platform returned.

Pipeline

Two processes: the panel you look at, and a worker that does the publishing. The panel can be closed; the worker is the part that must stay up.

Connect, plan, and let the worker publish.

  1. 01

    Connect an account

    Every account is linked through the platform's own OAuth screen. Postiva never sees a password. The returned access and refresh tokens are encrypted with AES-256-GCM before they touch the database, and TikTok's rotating refresh tokens are persisted atomically so a renewal can never be lost halfway.

  2. 02

    Plan the post

    Pick media from the library, write the caption or draft it from the account persona, choose which accounts the post goes to and set the minute. A single post can carry a different caption per account, which is what you want when the same video ships to a Turkish and an English profile.

  3. 03

    The worker publishes

    A separate process wakes every 20 seconds, claims the jobs that are due and calls the platform API. The platform post id and permalink land back on the queue row, and a Telegram message tells you it happened. If a step fails it backs off and retries; if the machine was down, missed slots are caught up inside a late window you configure.

Platforms

Official APIs only, with the narrowest scope that does the job.

What Postiva asks each platform for.

PlatformAPIScopes requestedWhat it is used for
InstagramInstagram Graph API, Content Publishinginstagram_business_basic, instagram_business_content_publishReels, single images, carousels and stories to the operator's own professional account.
TikTokLogin Kit + Content Posting APIuser.info.basic, video.upload, video.publishReads the connected account's basic profile, then either uploads the video to that account's TikTok drafts or direct posts it when the operator turned direct mode on.
ThreadsThreads APIthreads_basic, threads_content_publishText and media posts to the operator's own Threads profile.

Nothing is published that the operator did not schedule. TikTok targets start in draft mode, where the video lands in the account's own TikTok inbox and a person taps publish. Before a direct post, Postiva queries the Creator Info endpoint and uses a privacy level the account actually allows, refusing videos longer than the limit that endpoint reports. It also holds back when the account already has the maximum number of pending shares for the day.

What is stored, and where.

On a server you control
Postiva is self hosted. There is no Postiva cloud, no shared multi tenant database, and no third party service in the path between the panel and the platform APIs.
Tokens
Access and refresh tokens are encrypted with AES-256-GCM before they are written to disk. Disconnecting an account deletes them.
Profile data
Only what is needed to show you which account you are posting from: the account id, the username and the profile picture. No follower data, no audience data, no message content.
Your own content
The media you upload and the captions you write stay on the same server. They are not used to train anything and they are not shared.
Deletion
Revoke Postiva from the platform's own security settings at any time. For a formal request, including Meta originated deletion callbacks with a confirmation code, use the data deletion page.

Operator

postiva.thecodevolt.com

Who runs this instance.

This instance is operated by TheCodeVolt, a software studio in Türkiye, and it publishes to accounts the studio owns. The panel behind the sign in screen is not a public sign up: there are no visitor accounts, because each installation belongs to one operator and their own profiles.

If you want an installation of your own, or you have a question about how your data is handled, write to info@thecodevolt.com.