What the integration does
ClippingSpace turns a long video into short clips. Publishing those clips is the last step, and connecting a YouTube channel is what makes that step automatic instead of a manual download-and-reupload for every clip.
Connecting a channel gives you four things, and nothing else:
- Publishing. Send a finished clip to your channel now, or put it in the scheduler and have it go out at a time you chose.
- Identification. See the channel name, avatar and subscriber count of the account you connected, in Settings and in the post composer, so you can tell two channels apart before you schedule to one of them.
- Results. See the views, likes and comments on the clips ClippingSpace published, and open an Analytics panel on each one for watch time, average view duration, subscribers gained and, on channels in the YouTube Partner Program, estimated revenue and RPM. The Analytics page charts the channel's views day by day over 7, 28 or 90 days against the period before, and ranks the clips ClippingSpace published. Settings also shows the channel's last 28 days.
- Managing. Change a published clip's title, description or visibility, or delete it from YouTube after a confirmation, from the post on the Schedule page. Only on videos ClippingSpace uploaded.
Connecting a channel is optional. Every other part of ClippingSpace, importing, transcribing, clipping, captioning and downloading, works without ever authorising Google.
Scopes we request
These are the exact OAuth scopes on our consent screen. We ask for the narrowest set that makes the features above work, and each is requested only when you connect a channel, never at sign-up.
Upload videos to your channel
Sensitivehttps://www.googleapis.com/auth/youtube.upload
- Why we need it
- Publishing a finished clip to the channel you connected, either straight away or at a time you picked in the scheduler. Scheduled posts upload as private with a publish time, which is how YouTube's own scheduling works.
- Endpoints called
- videos.insert
- What it stores
- The YouTube video id and watch URL of each video we uploaded for you, its upload time, and whether the upload succeeded or failed. Never the video file itself once the upload finishes.
View your YouTube account
Sensitivehttps://www.googleapis.com/auth/youtube.readonly
- Why we need it
- Showing which channel is connected (its name, avatar and subscriber count) in Settings, Connections and in the post composer, so you can tell two channels apart before you schedule a clip, and reading the view, like and comment counts on the clips ClippingSpace published.
- Endpoints called
- channels.list, videos.list
- What it stores
- Channel id, channel title, handle, avatar URL and subscriber count, plus the view, like and comment count for each video ClippingSpace uploaded for you. Refreshed from YouTube within 30 days or deleted. Nothing about videos we did not upload, and no data about anyone who watches your channel.
Manage the videos ClippingSpace posted
Sensitivehttps://www.googleapis.com/auth/youtube.force-ssl
- Why we need it
- After a clip is published, changing its title, description or visibility (Public, Unlisted or Private), or deleting it from YouTube after you confirm, from the post on the Schedule page. ClippingSpace only ever reads, edits or deletes videos it uploaded for you; it never touches the rest of your channel.
- Endpoints called
- videos.list, videos.update, videos.delete
- What it stores
- Nothing new. An edit changes the video on YouTube and is not copied to our database. A delete removes the video id, watch URL and cached counts from our record and keeps a note that the video was deleted.
View your YouTube Analytics
Non-sensitivehttps://www.googleapis.com/auth/yt-analytics.readonly
- Why we need it
- The Analytics page and the Analytics panel on each published YouTube post: the connected channel's views, watch time, likes and subscribers gained or lost day by day for the range you pick (7, 28 or 90 days, compared with the period before), the same totals for each video ClippingSpace published, and a last-28-days summary of the channel in Settings, Connections.
- Endpoints called
- reports.query (YouTube Analytics API)
- What it stores
- Not stored in our database. Fetched when you open the Analytics page or a panel and held in server memory for at most 15 minutes so reopening it does not query YouTube again, then discarded. Dropped at once when you disconnect the channel.
View estimated revenue
Sensitivehttps://www.googleapis.com/auth/yt-analytics-monetary.readonly
- Why we need it
- Showing estimated revenue and RPM (revenue per 1,000 views) next to the analytics for each published video, for the channel's last 28 days, and on the Analytics page for the range you pick. On a channel outside the YouTube Partner Program this data does not exist, and the panel says so instead of showing an error.
- Endpoints called
- reports.query (YouTube Analytics API, monetary metrics)
- What it stores
- Not stored in our database. Held in server memory with the analytics for at most 15 minutes and shown only to the account owner.
How a clip reaches YouTube
- You press Connect YouTube in ClippingSpace and are sent to Google's own consent screen. We never see your Google password, and there is no field anywhere in ClippingSpace that asks for one.
- Google returns an authorisation code to
https://clippingspace.tech/api/social/callback/youtube. We exchange it for an access token and a refresh token, encrypt both, and store them against your ClippingSpace account. - We call
channels.listto learn the channel id, title, avatar and subscriber count, so the app can show you which channel is connected, and again about once a week to keep that copy fresh. - When a clip is due, our worker streams the rendered video file to
videos.insert. The file is the clip ClippingSpace rendered for you, with the title, description, tags, privacy setting and publish time you chose. - YouTube returns a video id. We store the id and the watch URL so the clip in your library links to the live video.
- About once an hour we call
videos.listfor the ids we stored, and cache the view, like and comment counts so the schedule can show them without calling YouTube on every page load. The ids come from our own records, never from a search, so a video ClippingSpace did not upload is never requested. - If you open Edit on YouTube on a published post, we read its current title, description and visibility with
videos.list, and when you save we send your change withvideos.update. If you choose Delete video and confirm, we callvideos.delete, then remove the video id, URL and cached counts from our record. Only ever on ids from our own records. While Google is still reviewing ClippingSpace, YouTube keeps our uploads private, so the app only offers Private until that review passes. - When you open a clip's Analytics panel we query the YouTube Analytics API (
reports.query, filtered to that one video) for views, watch time, average view duration, likes and subscribers gained, plus estimated revenue when the channel is in the YouTube Partner Program. Settings, Connections asks the same for the whole channel over the last 28 days. The Analytics page asks for the channel's numbers per day over the range you pick (twice its length, to compare with the period before) and, filtered to the ids of videos ClippingSpace uploaded, the same totals per video. These numbers are never written to our database: they are kept in server memory for at most 15 minutes so reopening the page or panel does not query YouTube again, then discarded.
What we store
Everything below is held in our database in the United Kingdom, tied to your ClippingSpace account, and reachable only by you when signed in.
| What | Why it is kept | How it is protected |
|---|---|---|
| OAuth access and refresh tokens | Uploading on a schedule means acting while you are not at the keyboard, which needs a refresh token. | Encrypted at rest with AES-256-GCM under a key held outside the database. Never sent to your browser and never written to logs. |
| Channel id, title, handle, avatar URL, subscriber count | So the app can show which channel is connected rather than an opaque id. | Ordinary database record, refreshed from YouTube at least every 30 days. |
| Video ids and watch URLs we created | To link a clip in your library to the live video it became, and to ask for its counts later. | Ordinary database record. |
| View, like and comment counts | To show how a published clip did without calling YouTube every time you open the page. | Public totals only, for videos we uploaded. Refreshed hourly and deleted if they ever go 30 days without a refresh. |
| Analytics and estimated revenue | Not stored. Shown to you when you open the Analytics page, a post's Analytics panel or Settings, Connections. | Held in server memory for at most 15 minutes, never in the database, and dropped immediately when you disconnect. |
We store no YouTube audiovisual content. The only video file involved is the clip ClippingSpace rendered from the source you supplied, and after a successful upload that file is deleted from our storage unless another scheduled post still needs it.
Refreshing and deleting
The YouTube API Services Terms require API clients to refresh stored YouTube data at least every 30 days or delete it. We do both:
- A background job re-reads the channel details and the cached counts on a rolling schedule well inside the 30 day window.
- Any cached YouTube record that has not been refreshed within 30 days is deleted rather than shown stale.
- If Google tells us a grant has been revoked, we delete the stored tokens and the cached YouTube data immediately and mark the channel as disconnected in the app.
- Analytics and revenue figures never reach the database; the in-memory copy expires after 15 minutes.
- When you delete a video from YouTube through ClippingSpace, we remove its video id, watch URL and cached counts from our record straight away and keep only a note in your history that it was deleted.
Revoking access
You can cut off our access at any time, by either route:
- Inside ClippingSpace: Settings, then Connected accounts, then Disconnect. This deletes the stored tokens and the cached YouTube data, and asks Google to revoke the grant as well.
- At Google: open Google's security settings page (https://myaccount.google.com/permissions), find ClippingSpace in the list of third-party apps with account access, and remove it.
Either route ends our access. Videos already published stay on your channel and remain entirely yours; revoking access does not remove them. ClippingSpace only ever deletes a video when you press Delete on that post and confirm, and once access is revoked it cannot delete anything at all.
To delete the ClippingSpace account itself, and everything in it, see Delete your data.
What we never do
- We never sell, rent or share your YouTube data, and we never pass it to an advertising network or a data broker.
- We never use your YouTube data to build a profile of you, to train a machine learning model, or for any purpose other than the features described on this page.
- We never aggregate YouTube data across accounts or serve it to anyone other than the account holder it belongs to.
- We never separate, modify or interfere with adverts served in the YouTube player, and we never promote a video for payment through the API.
- We never store YouTube audiovisual content, and we never make it available for offline playback.
Required terms and policies
By using the YouTube features in ClippingSpace you are also agreeing to YouTube's own terms, and your data at Google is handled under Google's privacy policy:
- YouTube Terms of Service (https://www.youtube.com/t/terms)
- Google Privacy Policy (https://policies.google.com/privacy)
- YouTube API Services Terms of Service, which ClippingSpace is bound by as an API client
- Our own privacy policy and terms of service
Contact
Questions about this integration, or a request about YouTube data we hold for you, go to support@clippingspace.tech. We aim to answer within two working days. More ways to reach us are on the support page.