The following guidelines have been put in place to improve the user experience and enable an healthy growth of the community we are all part of. As a merchant you have to comply to the guidelines in order for your package to be distributed by Twickd
There are few rules and best-practices that all packages, no matter their types, should follow to suit Twickd concept.
Naming a package can be a tedious task, you often lose some precious hours trying to figure out the perfect name for your package. Thankfully the following guideline will help you narrow down your possibilities so your mind will not have to go everywhere while looking for a name.
First, your package name should be short (typically between 3 and 20 characters) and should not include any special characters, emojis, parenthesis,... For reference, Twickd will not accept any package whose name is longer than 30 characters and/or contains any other characters than alpha-numeric, spaces, and dashes.
A name should be unique, therefore make sure to search on popular platforms (i.e: r/jailbreak, iOS Repo Updates, ...), if your package name appears to be the same as someone else and we get notified about it, we are most likely to takedown your package until we find a proper solution. In that case, we will contact you to let you know why your package has been taken down and what you can do to resolve this issue.
All packages should include the recommended fields in their control files:
- Package: The original identifier of your packages (i.e: com.twickd.packagename)
- Name: The name of the package (should follow the Naming guidelines)
- Depends: The package dependencies
- Version: The package version number (Only use numeric character and dots, avoid letters as much as possible. Beta builds are typically before 1.0.0 so if you are running your package in beta version, use 0.1.0 for example)
- Architecture: To what platform the package is intended to be used (always set this value to iphoneos-arm)
- Description: A short description of your package (should not be longer than 140 characters)
- Maintainer: Who maintains the package, it could be you or someone else from your organization
- Author: The creator of the package
If your package does not include those recommended fields it will automatically be rejected upon submission with an error message letting you know which fields are missing.
The description should explain clearly how your package will affect the user's device/experience. It has to be well formatted (i.e: All caps, bold and/or in title format descriptions will result in your package being rejected) using the tools that we provide. Descriptions must only be written in plain and intelligible English, there are many resources online that will help you if needed.
The description must include all the features of your packages. It is also a great place to credit your inspirations or sources.
If your package is open-source, you are more than welcome to add the link to your source code.
Screenshots are the most important element of your package presentation page. They tremendously help the user determine if your package is what they are looking for.
Therefore, we require all the packages to have at least one screenshots.
The screenshots should clearly show how your package will affect the user's device/experience.
When it comes to screenshots, the guidelines are pretty straight forward:
- Do not use inappropriate images as your screenshots.
- Do not show the entire springboard/app if your package only affects a small portion of it.
- Try to use the best quality possible so the users have a good representation of your package.
- Be creative! This is your space to showcase your package, make the most out of it!
Open-sourcing packages, no matter its type, is a great way to build a healthier and more knowledgeable community. Twickd strongly encourages open source.
Sometimes it can be overwhelming to share the sources of your package, but there is plenty of resources online to learn how to open-source the right way.
On the other hand, when using assets or components from open-sourced resources, you must credit the author and respect the licenses they used. Twickd will systematically take down any packages that have been reported for abusing open-source licenses.
Competition is what makes us evolve as creators, but doing the same things as others has never been beneficial for anyone. If your package has the same features of an existing package, without added-value or breakthrough changes, we are most likely to reject it during the moderation process
We encourage the creator to advertise their packages on as many platforms as possible, while respecting the rules of these platforms, to get the maximum amount of exposure.
Setting the accurate price on a product you have created can be a tedious process that often leads to under or over evaluation. We recommend finding similar packages and base your pricing evaluation on those.
Our moderation team (constituted of reputable community members) will evaluate the amount of work and the level of difficulty that making your package required and define if the price that you set for your package is justified or not.
It can also happen that we decide that your package should be free instead of paid because it does not follow the community standards of a paid package. In that case, we will not accept your package. We will never change a package price without having the approbation of the creator first.
Twickd allows packages that have their own in-app payment system.
This gives you, as a creator, more flexibility when it comes to pricing but you are also losing a lot of benefits from Twickd. We strongly recommended creators who use their own payment system to include a free trial to prevent people from pirating your package.
A package is considered as money-grabbing when it requires little to no effort to reproduce and/or does not receive the appropriate support. Twickd will not accept any package that is considered as a money grabber, defined by the criteria above
Do not steal.
By stealing content from other creators, you are harming both the creators and yourself. Twickd has a zero-tolerance policy for stolen content and if some content included in your package is considered as stolen, after investigation, all of your packages will be instantly taken down and you will be permanently banned from using any of our services.
Although we do not recommend it, Twickd allows hosting of a paid package on multiple repositories. Many repositories do not allow such freedom so make sure you are not enforcing their policies by doing it.
Twickd does offer free access to a DRM (Digital Rights Management) API so developers can securely check the validity of the purchase.
When using a DRM, there are still a few rules that you have to follow to ensure that you are not altering the experience of your users:
- Never prevent paid customers to access their packages. You should temporarily remove the DRM tool from the package until you find a solution
- DRM is not a tracking tool. No information about the user's device other than its Unique Device Identifier and Device Model should be transmitted and/or analyzed by you or any other third-party.
- When using a server as a middleware between your tweak and Twickd DRM API you must not store any informations about the user's device outside of the user's device. We strongly not recommend any storage of information at all.
- DRM should never alter the user's device, even pirate's devices
When distributing a paid package, your customer expects quality support from your end. Whether it is done by emails, discord, twitter, or any other communication channel, your customers must be able to reach you and you must reply to your customers to the best of your abilities.
This is why we request all of the businesses to have at least one email address linked to their account if they want to be able to distribute paid packages on Twickd.
When ending the life of a package, it is considered a best-practice to make it available for free and open-source (if possible) to potentially inspire future creators to enter the jailbreaking industry
Users often have very interesting ideas and opinions, you should listen to them to improve your creativeness and therefore your packages. You might read the same type of feedback multiple times, but that is not a valid reason to not respond to your customers, telling that it has already been mentioned and that you are thinking about it is the correct way to engage with your customers and helps them feel listened to.
Refunds should be executed in a reasonable timeframe after purchase. You have the right to deny refunds that appear fraudulent or that do not respect your refund policy. This refund policy must also comply with the laws in the country you are selling your packages from.
Considering that widgets are relatively easy to make, it is considered as a "best-practice" to not set a price tag onto it. In case you decide to ignore this and set a price tag to your widgets, the maximum price should be to $1.00.
A widget should be light-weight (typically not exceeding 5mb). You have to make sure to only include resources that you are using and properly compress your images. Most of the time the size of your package can be reduced by using fewer images and replacing them with SVG or actual code.
We will not accept any widget that sizes exceed 20mb.
Theming is an important part of the jailbreaking industry.
A maximum of 4 variants per package is allowed, typically a colored and a dark version (colored and glyph version is also a popular combination)
All the icons in a theme must follow the same design schema to form a cohesive theme.
Going along with the rule on variants, all icons must have been entirely created by you. We will not accept any package that uses third-party icon libraries (i.e: icons8, flaticon, ...) even if you own the rights to use them.
You should always consider icon requests from your users. We recommend you create a shared document or a form so users can easily submit their icon requests. Doing so will help you keep track of the icons requested by your users. A great-practice is to mention the user which submission has been accepted in the changelog of your theme. Giving them credit will help you build an enthusiastic community!
Theming small elements of iOS are more common these days, but while UI Themes are considered as regular packages, Statusbar Themes usually require less thinking and creation time. Therefore all Statusbar themes, if not bundled with a theme, UI theme, or a few other Statusbar themes, must be distributed for free. This guideline also applies to low-effort UI themes.
We consider tweaks that unlock premium features on third-party apps or stock iOS as piracy, therefore we judge them like so.
It is strongly recommended not to do such modifications, except for educational purposes, even if you do not plan to use Twickd to distribute your package.
These guidelines are based on an original idea by Matchstic