Privacy Policy

castomAPI — castomapi.com and app.castomapi.com — last updated 7 October 2026

1. Who we are

castomAPI is operated by Castomo prosta spółka akcyjna (Castomo P.S.A.), the data controller for the personal data described in this policy.

Registered address ul. Powstańców Śląskich 5/212, 53-332 Wrocław, Poland
KRS 0001188843
NIP 8993033031
REGON 542471636
Privacy contact api@castomo.com

We have not appointed a Data Protection Officer, because Article 37 GDPR does not require one for us. Every privacy question or request goes to the address above.

2. What castomAPI is, in one paragraph

castomAPI is an API gateway for businesses and developers. A user creates an account, receives an API key and a prepaid token balance, and calls endpoints — utilities, file conversion, generation, scraping, and integrations with third-party platforms. For an integration, the user connects their own account on that platform through the platform's official OAuth consent screen, and castomAPI then acts on that account only when the user calls an endpoint, and only within the permissions the user granted.

3. The public website (castomapi.com)

The website is a static site. It has no forms, no accounts, no analytics, no advertising and no third-party scripts or fonts, and its content security policy stops the browser from contacting any other host.

4. The dashboard and API (app.castomapi.com)

4.1 Account data

Email address, display name, password (stored only as an Argon2 hash), account role, plan and token balance. If you sign in through a castomo ecosystem account, we also store that account's identifier. API keys are stored only as SHA-256 hashes — a key is shown to you once and we cannot recover it.

4.2 Request logs

Every API request is logged for billing, security and troubleshooting. A log record contains:

Field Purpose
Account and API key identifiers Attributing usage and billing
Endpoint, HTTP method, status code Troubleshooting and abuse detection
Response time and token cost Billing and capacity planning
IP address and user agent Security, rate limiting, abuse detection
Error message, when a request failed Diagnosing faults
Timestamp All of the above

Request logs do not contain the body of your request or of the response — not your files, not your posts, and not data returned by a connected platform — unless you have switched on request and response storage, which is off by default (section 4.6).

4.3 Content you send through the service

When you call an endpoint, the data in your request passes through our servers so the request can be fulfilled — a URL to scrape, a file to convert, a video to publish to your TikTok account. We process it on your instruction, for that request only, and do not keep it after the response is sent, except where an endpoint's purpose is to store something for you (for example a custom endpoint you created, or a webhook subscription you set up) and except where you have switched on request and response storage (section 4.6).

4.4 Payment data

Payments are processed by Stripe. Card details go directly to Stripe and never reach our servers. We keep the transaction records that accounting law requires.

4.5 Feedback and bug reports

If you send a report through the site or dashboard, we store the message, the email address you give (optional), basic technical context about the page (browser, screen, app version), your account identifier if you were signed in, and your IP address.

4.6 Request and response storage (optional, off unless you turn it on)

What it is. If you choose to turn it on, castomAPI stores what the requests made with your API keys carried and what came back, so you can open any request in the Logs page of the dashboard and see it. It is off by default. Nothing is stored until you switch it on, and the dashboard asks you once before it does.

Why, and the legal basis. Only so that you can inspect and debug your own API calls. The legal basis is your consent, Art. 6(1)(a) GDPR. We do not use stored requests and responses for anything else: not for advertising, profiling, selling, or training machine-learning models. Providing this consent is voluntary; the service and every API call work the same without it.

What is stored. For each request: the query string, the request and response headers, and the request and response bodies, each cut off at 16 KB. The headers include technical details such as your browser or client, and the IP address of the caller as forwarded to our server. Values of fields whose names look secret (for example keys, tokens, passwords, cookies, signatures and the authorization header) are replaced by [redacted] before storing. We do not read the text itself, so a secret or a personal detail written inside free text, such as a prompt, a message or a URL, is stored as sent and can be personal data, including data about your own customers or users. Please do not send data you do not want stored while this is on, and switch it off first if you need to.

Who can see it. In the dashboard, only the account that made the calls. No feature of ours shows these records to anyone else, and we do not look at them. They sit in a database on our servers, so an engineer with administrative access to those servers could technically read them; we do that only where strictly necessary for security or to fix a fault you have asked us to look at.

How long, and where. 30 days from each request, then they are deleted automatically. They are kept in a database on our servers at UpCloud in the EU, and are not shared with anyone else. AI and platform endpoints that you call still receive the content of that call in order to answer it, as described in sections 5 and 9; that happens whether or not you switch storage on.

Switching it off, and deleting. You can switch it off at any time, in Settings → Privacy or on the Logs page, as easily as you switched it on. Switching it off stops new storage and deletes what is already stored for your account at once, and also removes the consent record. You can delete the stored requests and responses without switching it off. Withdrawing consent does not affect the lawfulness of storage before withdrawal. If you close your account, the stored requests and responses are deleted with it (section 7).

Backups. Our servers are backed up every night. The backups are encrypted and the weekly copy is sent to a hosting provider in Poland, where it is kept for 90 days. A stored request or response that you delete can therefore remain in those backups for up to 90 days after deletion. Backups are never read or used for any purpose other than recovering our systems, and if one is ever restored, deletions made since are applied again before the service resumes.

If your content contains other people's data. If the requests you send contain personal data of your own customers or users, you are the controller of that data and, for this storage, we act as your processor. See section 9A of the Terms.

Your rights. Access, correction, erasure, restriction, portability, and withdrawing consent at any time (see section 11).

5. Connected third-party platforms

5.1 What we store for every connected platform

When you connect a platform, we store:

We do not copy your platform data into our database. Profile details, statistics, video lists, messages, files and other content are fetched from the platform at the moment you call an endpoint, returned to you in the response, and not kept. The only exceptions are events a platform pushes to us because you subscribed to them (for example Facebook Page webhook events), which are stored in your account so you can read them, and deleted with it.

5.2 How we use platform data — the same rules for every platform

5.3 TikTok

castomAPI uses TikTok's Login Kit and Content Posting API. When you connect your TikTok account you are asked to grant these permissions, and each one is used only for the purpose shown:

Permission (scope) Data it gives access to What castomAPI does with it
user.info.basic Open ID, union ID, display name, avatar Identifies which TikTok account is connected; returned to you by the profile endpoint
user.info.profile Bio, profile link, verified status Returned to you by the profile endpoint
user.info.stats Follower, following, likes and video counts Returned to you by the profile and account-statistics endpoints
video.list Your public videos and their metadata Returned to you by the video-list endpoints
video.upload Uploading a video to your account Sends the video you provide to TikTok
video.publish Publishing a video to your account Publishes the video you provide, with the title and privacy setting you choose

What we keep from TikTok: the encrypted access and refresh tokens, your TikTok open_id and display name. Everything else is read live and not stored. A video you publish is held in server memory only while it is being sent to TikTok and is not written to disk or kept afterwards. We publish only the content you send, only when you send it.

To remove castomAPI's access: disconnect TikTok in the dashboard (section 7), and remove castomAPI under TikTok → Settings and privacy → Security → Manage app permissions.

5.4 Google

castomAPI's use and transfer of information received from Google APIs to any other app adheres to the Google API Services User Data Policy, including the Limited Use requirements. Google user data is used only to provide the features you call, is not transferred except as needed to provide those features, to comply with law or as part of a merger with notice, is not used for advertising, and is not read by any person unless you give us permission, it is needed for security, or the law requires it.

5.5 Meta (Facebook and Instagram)

castomAPI uses Meta platform data only for the features you call, in line with the Meta Platform Terms. To request deletion of data received from Meta, follow section 7 — the same process covers it.

5.6 Other platforms

The same rules apply to every other platform you can connect, which at the time of writing includes GitHub, GitLab, Shopify, Shoper, WordPress, Slack, Discord, Notion, Twitch, Pinterest, Snapchat, LinkedIn, Microsoft 365, Dropbox, Asana, Airtable, Trello, Salesforce, HubSpot, Miro, monday.com, Typeform, Calendly, Netlify, Cloudflare and YouTube. Each platform's own privacy policy also applies to your account on that platform.

6. Why we process data, and the legal basis

Purpose Legal basis (GDPR)
Providing the service, including connected-platform features Performance of a contract, Art. 6(1)(b)
Billing and keeping accounts Contract and legal obligation, Art. 6(1)(b) and 6(1)(c)
Security: rate limiting, abuse and fraud prevention Legitimate interest, Art. 6(1)(f)
Diagnosing faults Legitimate interest in a service that works, Art. 6(1)(f)
Answering feedback and support requests Legitimate interest, Art. 6(1)(f)
Storing request and response content so you can inspect it in Logs (optional, section 4.6) Your consent, Art. 6(1)(a)

7. How to delete your data

Disconnect one platform. Sign in at app.castomapi.com, open the platform's card and press Disconnect. The stored connection — including the encrypted access and refresh tokens — is deleted from our database immediately, not deactivated or archived.

Disconnecting deletes our copy of the token but does not revoke the permission on the platform's side. To revoke it there too, remove castomAPI in that platform's own app-permission settings (for TikTok, see section 5.3).

Delete your whole account. Email api@castomo.com from the address your account uses, with the subject Delete my account. We delete your account, API keys, wallet, every stored platform connection, every stored webhook event and any stored request and response content (section 4.6), and reply to confirm. We answer within one month, usually within a few working days.

Two things account deletion does not remove: request-log records, which are deleted automatically when they are 12 months old, and invoices and accounting records, which Polish tax law requires us to keep for five years. Neither contains the content of your requests or data from connected platforms. Encrypted backups (section 4.6) age out within 90 days.

8. How long we keep data

Data Kept for
Account data As long as the account exists; deleted on request (section 7)
Platform tokens and connection records Until you disconnect the platform or close your account
Data read from a platform during a request Not kept after the response is sent
Video or file you send for publishing or conversion Not kept after the request completes
Stored webhook events you subscribed to Until you close your account
Request logs 12 months, deleted automatically by the database
Request and response content (only if you turned it on) 30 days, or until you switch it off or delete it; in encrypted backups up to 90 days more
Feedback reports Until you ask us to delete them; unlinked from your account when it is closed
Website server access log A few weeks (log rotation)
Invoices and accounting records Five years, as Polish tax law requires

9. Who else processes data (sub-processors)

Each one receives only what the specific request needs.

Provider Function Location
UpCloud Server hosting and databases, including stored request and response content (section 4.6) EU
MyDevil Hosting of the website, and storage of encrypted off-site backups of our servers Poland (EU)
Stripe Payment processing EU / USA
Sentry Error monitoring: technical details of server errors, with API keys, tokens, passwords and signatures removed before sending EU / USA
OpenAI, Anthropic, Google (Gemini), xAI, Moonshot AI, OpenRouter AI-backed endpoints, only when you call them, only the input you send USA / other
Google Search, Maps and Workspace endpoints, when you call them USA
Serper Search-results endpoints, when you call them USA

A connected platform (TikTok, Google, Meta and the others in section 5) is not our sub-processor: you hold your own account there, and we send it only what you instruct us to send.

Transfers outside the European Economic Area rely on the European Commission's Standard Contractual Clauses or an adequacy decision.

10. Cookies

11. Your rights

Under the GDPR you may ask for access to your personal data, correction, erasure, restriction of processing and portability, you may object to processing based on legitimate interest, and you may withdraw a consent you gave (such as request and response storage) at any time, as easily as you gave it, without affecting what was done before. Write to api@castomo.com; we answer within one month.

You may complain to the Polish supervisory authority, the Prezes Urzędu Ochrony Danych Osobowych, ul. Stawki 2, 00-193 Warszawa (uodo.gov.pl), or to the authority in your own EU country.

12. Security

No system is perfectly secure. If you find a vulnerability, report it to api@castomo.com instead of disclosing it publicly.

13. Children

castomAPI is not intended for anyone under 18, and we do not knowingly collect data from children.

14. Changes to this policy

We update this policy when the service changes. The date at the top always shows the current version. Account holders are told by email before a material change takes effect.