{"id":864,"date":"2026-08-23T09:17:46","date_gmt":"2026-08-23T05:47:46","guid":{"rendered":"https:\/\/huberr.ir\/?page_id=864"},"modified":"2026-08-23T09:26:14","modified_gmt":"2026-08-23T05:56:14","slug":"privacy-policy-social-poster","status":"publish","type":"page","link":"https:\/\/stage.huberr.ir\/en\/privacy-policy-social-poster\/","title":{"rendered":"Social Poster-Privacy Policy"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"864\" class=\"elementor elementor-864\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-eb159d9 e-grid e-con-full e-con e-parent\" data-id=\"eb159d9\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-61a3721 elementor-widget elementor-widget-html\" data-id=\"61a3721\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"en\">\r\n<head>\r\n  <meta charset=\"UTF-8\">\r\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n  <title>Privacy Policy \u2014 Social Poster<\/title>\r\n\r\n<\/head>\r\n<body>\r\n  <h1>Privacy Policy<\/h1>\r\n  <p class=\"date\"><strong>Social Poster<\/strong> \u2014 a desktop app for cross\u2011platform content publishing<br>\r\n  Last updated: August 2026<\/p>\r\n  <hr>\r\n\r\n  <h2>1. What Data We Collect<\/h2>\r\n  <p>The Social Poster desktop application collects and stores the following data locally on your own server or computer:<\/p>\r\n  <table>\r\n    <tr><th>Data<\/th><th>Source<\/th><th>Purpose<\/th><\/tr>\r\n    <tr><td>Bot tokens (Telegram, Bale)<\/td><td>You enter them in the Settings page<\/td><td>Authenticate with each platform's API to publish on your behalf<\/td><\/tr>\r\n    <tr><td>LinkedIn access token, client ID, client secret, organization\/member ID<\/td><td>OAuth 2.0 authorization flow via LinkedIn<\/td><td>Authenticate with LinkedIn's REST API to publish posts<\/td><\/tr>\r\n    <tr><td>Post text, media files (images, videos)<\/td><td>You compose them in the main page<\/td><td>Transmit to the platforms you select; media is stored temporarily in <code>\/tmp<\/code><\/td><\/tr>\r\n    <tr><td>Scheduled post metadata (time, platform list, status)<\/td><td>You create a scheduled post<\/td><td>Trigger publication at the chosen time via APScheduler<\/td><\/tr>\r\n  <\/table>\r\n\r\n  <h2>2. How We Store Data<\/h2>\r\n  <ul>\r\n    <li><strong>Credentials<\/strong> (tokens, secrets) are encrypted with <strong>Fernet symmetric key<\/strong> before being written to the SQLite database. The encryption key lives in your <code>.env<\/code> file \u2014 we never send it anywhere. <em>You generate this key yourself.<\/em><\/li>\r\n    <li><strong>Post history and scheduled posts<\/strong> are stored unencrypted in the same local SQLite database.<\/li>\r\n    <li><strong>Uploaded media<\/strong> is kept in <code>\/tmp\/social_poster_uploads<\/code> and deleted after the post is sent.<\/li>\r\n  <\/ul>\r\n  <p>Everything runs on <strong>your own infrastructure<\/strong>. No data is sent to our servers, and we have no access to your database, tokens, or posts.<\/p>\r\n\r\n  <h2>3. How We Use Data<\/h2>\r\n  <ul>\r\n    <li>Publish your content to Telegram, Bale, and\/or LinkedIn when you click Send.<\/li>\r\n    <li>Schedule content for future publication (APScheduler).<\/li>\r\n    <li>Validate your credentials are correct before saving them.<\/li>\r\n    <li>Display your post history in the application.<\/li>\r\n  <\/ul>\r\n\r\n  <h2>4. Data Sharing<\/h2>\r\n  <p>We share data <strong>only<\/strong> with the platforms you explicitly select when composing a post. Those platforms receive:<\/p>\r\n  <ul>\r\n    <li>The text and\/or media you wrote.<\/li>\r\n    <li>Your identity token (so the platform knows who is posting).<\/li>\r\n  <\/ul>\r\n  <p>No data is sold, rented, or shared with any third party beyond the platforms you choose. No analytics, tracking, or telemetry of any kind is built into the application.<\/p>\r\n\r\n  <h2>5. Third\u2011Party Services<\/h2>\r\n  <p>The app communicates with these external services through their public APIs:<\/p>\r\n  <ul>\r\n    <li><strong>Telegram<\/strong> \u2014 api.telegram.org<\/li>\r\n    <li><strong>Bale<\/strong> \u2014 tapi.bale.ai<\/li>\r\n    <li><strong>LinkedIn<\/strong> \u2014 api.linkedin.com, api.linkedin.com\/rest, linkedin.com\/oauth<\/li>\r\n  <\/ul>\r\n  <p>Each service has its own privacy policy and terms. Review them before using the app.<\/p>\r\n\r\n  <h2>6. Data Retention<\/h2>\r\n  <ul>\r\n    <li><strong>Credentials:<\/strong> kept until you click \"Disconnect\" in Settings or delete the database file.<\/li>\r\n    <li><strong>Post history:<\/strong> kept indefinitely unless you delete the database.<\/li>\r\n    <li><strong>Scheduled posts:<\/strong> removed from the scheduler after execution; the record remains in history.<\/li>\r\n    <li><strong>Uploaded media:<\/strong> deleted immediately after posting.<\/li>\r\n  <\/ul>\r\n\r\n  <h2>7. Your Rights<\/h2>\r\n  <p>Because you run this application on your own machine or server, you have full access to all your data at any time. You may:<\/p>\r\n  <ul>\r\n    <li><strong>Access<\/strong> \u2014 open the database file or use the app's history page.<\/li>\r\n    <li><strong>Delete<\/strong> \u2014 disconnect a platform or delete the database file entirely.<\/li>\r\n    <li><strong>Export<\/strong> \u2014 copy your data from the database.<\/li>\r\n  <\/ul>\r\n  <p>If you share the app with end users (e.g. you sell or distribute it), you are responsible for complying with applicable privacy laws (GDPR, CCPA, etc.) as the data controller.<\/p>\r\n\r\n  <h2>8. Security<\/h2>\r\n  <ul>\r\n    <li>Credentials are encrypted with Fernet before storage \u2014 even a direct read of the database file yields useless ciphertext without the key.<\/li>\r\n    <li>The encryption key is configured in <code>.env<\/code>, which should never be committed or shared.<\/li>\r\n    <li>OAuth 2.0 access tokens are stored with the same encryption.<\/li>\r\n    <li>We recommend running the backend behind a local firewall or VPN since the API server is intended for local\u2011only use.<\/li>\r\n  <\/ul>\r\n  <p>There is no 100% secure system. You assume the risk of running this software on your infrastructure.<\/p>\r\n\r\n  <h2>9. Contact<\/h2>\r\n<p>For questions about this privacy policy, contact the app developer at:<\/p>\r\n  <p><strong>Email:<\/strong> info@huberr.ir<br>\r\n  <strong>Website:<\/strong> <a href=\"https:\/\/stage.huberr.ir\/en\/\">huberr.ir<\/a><\/p>\r\n\r\n  <hr>\r\n  <footer>\r\n    This is a privacy policy for the Social Poster desktop application, written for developers and end users alike.\r\n    Published under <a href=\"https:\/\/creativecommons.org\/publicdomain\/zero\/1.0\/\">CC0<\/a> so you may adapt it freely.\r\n  <\/footer>\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>Privacy Policy \u2014 Social Poster Privacy Policy Social Poster \u2014 a desktop app for cross\u2011platform content publishing Last updated: August 2026 1. What Data We Collect The Social Poster desktop application collects and stores the following data locally on your own server or computer: Data Source Purpose Bot tokens (Telegram, Bale) You enter them in [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-864","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/stage.huberr.ir\/en\/wp-json\/wp\/v2\/pages\/864","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/stage.huberr.ir\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/stage.huberr.ir\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/stage.huberr.ir\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/stage.huberr.ir\/en\/wp-json\/wp\/v2\/comments?post=864"}],"version-history":[{"count":12,"href":"https:\/\/stage.huberr.ir\/en\/wp-json\/wp\/v2\/pages\/864\/revisions"}],"predecessor-version":[{"id":876,"href":"https:\/\/stage.huberr.ir\/en\/wp-json\/wp\/v2\/pages\/864\/revisions\/876"}],"wp:attachment":[{"href":"https:\/\/stage.huberr.ir\/en\/wp-json\/wp\/v2\/media?parent=864"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}