Built for 𝕏∙LinkedIn∙Bluesky∙Threads. Powered by AI
Write & schedule, effortlessly
Craft and publish engaging content in an app built for creators.
NEW
Publish anywhere
Publish on X, LinkedIn, Bluesky, Threads, & Mastodon at the same time.
Make it punchier 👊
Typefully
@typefully
We're launching a Command Bar today with great commands and features.
AI ideas and rewrites
Get suggestions, tweet ideas, and rewrites powered by AI.
Turn your tweets & threads into a social blog
Give your content new life with our beautiful, sharable pages. Make it go viral on other platforms too.
+14
Followers
Powerful analytics to grow faster
Easily track your engagement analytics to improve your content and grow faster.
Build in public
Share a recent learning with your followers.
Create engagement
Pose a thought-provoking question.
Never run out of ideas
Get prompts and ideas whenever you write - with examples of popular tweets.
@aaditsh
I think this thread hook could be improved.
@frankdilo
On it 🔥
Share drafts & leave comments
Write with your teammates and get feedback with comments.
NEW
Easlo
@heyeaslo
Reply with "Notion" to get early access to my new template.
Jaga
@kandros5591
Notion 🙏
DM Sent
Create giveaways with Auto-DMs
Send DMs automatically based on engagement with your tweets.
And much more:
Auto-Split Text in Posts
Thread Finisher
Tweet Numbering
Pin Drafts
Connect Multiple Accounts
Automatic Backups
Dark Mode
Keyboard Shortcuts
Creators love Typefully
180,000+ creators and teams chose Typefully to curate their Twitter presence.
Marc Köhlbrugge@marckohlbrugge
Tweeting more with @typefully these days.
🙈 Distraction-free
✍️ Write-only Twitter
🧵 Effortless threads
📈 Actionable metrics
I recommend giving it a shot.
Jurre Houtkamp@jurrehoutkamp
Typefully is fantastic and way too cheap for what you get.
We’ve tried many alternatives at @framer but nothing beats it. If you’re still tweeting from Twitter you’re wasting time.
DHH@dhh
This is my new go-to writing environment for Twitter threads.
They've built something wonderfully simple and distraction free with Typefully 😍
Santiago@svpino
For 24 months, I tried almost a dozen Twitter scheduling tools.
Then I found @typefully, and I've been using it for seven months straight.
When it comes down to the experience of scheduling and long-form content writing, Typefully is in a league of its own.
Luca Rossi ꩜@lucaronin
After trying literally all the major Twitter scheduling tools, I settled with @typefully.
Killer feature to me is the native image editor — unique and super useful 🙏
Visual Theory@visualtheory_
Really impressed by the way @typefully has simplified my Twitter writing + scheduling/publishing experience.
Beautiful user experience.
0 friction.
Simplicity is the ultimate sophistication.
Queue your content in seconds
Write, schedule and boost your tweets - with no need for extra apps.
Schedule with one click
Queue your post with a single click - or pick a time manually.
Pick the perfect time
Time each post to perfection with Typefully's performance analytics.
Boost your content
Retweet and plug your posts for automated engagement.
Start creating a content queue.
Write once, publish everywhere
We natively support multiple platforms, so that you can expand your reach easily.
Check the analytics that matter
Build your audience with insights that make sense.
Writing prompts & personalized post ideas
Break through writer's block with great ideas and suggestions.
Never run out of ideas
Enjoy daily prompts and ideas to inspire your writing.
Use AI for personalized suggestions
Get inspiration from ideas based on your own past tweets.
Flick through topics
Or skim through curated collections of trending tweets for each topic.
Write, edit, and track tweets together
Write and publish with your teammates and friends.
Share your drafts
Brainstorm and bounce ideas with your teammates.
NEW
@aaditsh
I think this thread hook could be improved.
@frankdilo
On it 🔥
Add comments
Get feedback from coworkers before you hit publish.
Read, Write, Publish
Read, WriteRead
Control user access
Decide who can view, edit, or publish your drafts.
Duże litery, małe litery, cyfry i znaki specjalne, czyli standard w hasłach 🤔
Rekomendacje mówią, aby tego nie robić, ale programiści i tak wiedzą swoje
"Te wymagania mają sens i pomagają początkującym użytkownikom. Nie każdy korzysta z Keepassa!".
Co robić? Jak żyć? 🧵 ↓
Zacznijmy od absolutnych podstaw.
Zagrożenie, przed którym się bronimy, to NIE jest naparzanie przez hackera losowymi hasłami w ekran logowania, bo a nuż zgadnie.
Problemem jest wyciek bazy danych, która prawdopodobnie i tak jest hashowana.
Pomimo stosowania mocnych algorytmów hashujących, po wycieku bazy danych, agresor i tak podejmie próbę złamania słabych hashy i zdobycia znajdujących się tam haseł.
Jeśli hasło było słabe, to je przejmie i przeprowadzi atak credential stuffing w popularnych serwisach.
Ale jak literki, cyferki i znaki specjalne mają to niby utrudnić?
Tutaj wchodzi matematyka. Istnieje coś takiego jak współczynnik entropii, który wyraża, jak bardzo nieprzewidywalne jest hasło.
Jest na to nawet wzór:
Entropia = N x log2(R)
Nie martw się, już wyjaśniam wzór!
We wzorze mamy dwa elementy:
• N = liczba znaków hasła
• R = pula znaków, z których wybierane są znaki hasła
Jeśli użytkownik ma hasło "basia", to pulą jest 26 znaków (litery a-z).
Dla hasła "basia" entropia wynosi:
E = 5 x log2(26) = około 23,5
Czyli słabiutko 😕
Za dobre hasło w zależności od źródeł uznaje się coś z entropią od 56 / 70 w górę.
Jak zwiększyć ten wynik?
Mamy dwa parametry, więc możemy pani Basi powiedzieć:
↳ Proszę wpisać dłuuuuugie hasło
↳ musi Pani zwiększyć pulę potencjalnych znaków zdatnych do użycia w haśle.
Druga instrukcja może być trochę niezrozumiała 😉
W praktyce, drugie polecenie oznacza, że musimy wyjść poza zakres liter "a-z".
Już samo napisanie słowa "Basia" dużą literą rozszerza bazowy zestaw znaków [a-z] z 26 do 52 znaków [a-zA-Z], co doprowadza nas do zwiększenia bitów entropii z 23 do 28, czyli hasło nadal jest 💩
Aleee! Jeśli poprosimy Basię o dopisanie cyfry (dodatkowy przedział 10 znaków) oraz znaku specjalnego (+43 znaki) oraz dużej litery, a przy okazji wymusimy 10 liter w haśle, to mamy entropię na poziomie:
E = 10 x log2(26+26+10+33) = około 65
Całkiem znośne hasło! 🙂
Tylko to tak ładnie wygląda jedynie we wzorze, bo w praktyce Pani Basia ustawi hasło w stylu:
↳ Basiaaaa1!
A jak ją poprosimy o regularną, comiesięczną zmianę, to wyjdzie nam:
↳ Basiaaaa2!
↳ Basiaaaa3!
↳ Basiaaaa4!
Wymogi dodatkowych znaków w haśle i minimalna długość podnoszą bezpieczeństwo - matematyki nie oszukam.
Takie hasła będą jednak zazwyczaj skrajnie proste, z małą różnorodnością, a do tego jest ryzyko, że Basia je zapisze np. na kartce, bo przecież nie zapamięta 🤷♂️
To jak wymusić na użytkowniku mocne hasło?
Gdybyśmy tylko znali jakiś wzór na to... 🤔
O! Wiem ⬇️
Mamy wzór, to co robimy jako programista?
1. Pobierasz od użytkownika proponowane hasło
2. Liczysz, ile ma znaków i zapisujesz to w zmiennej N
3. Sprawdzasz, jakiego zakresu znaków używa user
4. Wrzucasz wszystko do wzoru
5. Wynik poniżej np. 70? "Twoje hasło jest za słabe"
No dobra, ale jak wykonać punkt 3 z tym liczeniem znaków?
wynik = 0
if (mala_litera) wynik += 26;
if (duza_litera) wynik += 26;
if (cyfra) wynik += 10;
if (znak_specjalny) wynik += 33;
return wynik;
OK i co nam to daje?
Basia chce mieć hasło "kot"
Poziom entropii = 14
"Twoje hasło jest zbyt łatwe do złamania.
Dopisz proszę coś do niego, aby było dłuższe. Możesz np. ułożyć jakieś zdanie."
Basia przechodzi więc przez kolejne kroki:
↳ kotkot = 28
↳ za słabe!
↳ lubiekoty = 42
↳ za słabe!
↳ mamczteryrudekoty = 79
↳ Barbara! Jestem z Ciebie dumny! Mraaau 😻
Przy klasycznym podejściu i haśle spełniającym wymogi poziomu skomplikowania (duże litery, małe, cyfry itd), Basia osiągnęła moc hasła równą 65 bitów. Do tego ma trudne do zapamiętania hasło:
Basiaaaa1!
- Ile było tych liter 'a'?
- jaka to była cyfra i znak?
Stosując proste polecenie "Twoje hasło jest za słabe" połączone z jakąś podpowiedzią np. "zbuduj zdanie, które na pewno zapamiętasz", Basia uzyskała 79 bitów entropii i hasło, którego jako kociara nigdy nie zapomni 😉
mamczteryrudekoty
P.S zapis ze spacjami to 94 bity!
Stosowanie klasycznego podejścia z zestawem znaków i długością hasła doprowadza nas do patologii tego typu 👇
Hasło: Superm3n$
Basia! Super hasło! tak trzymaj! 👏 [E=55]
Hasło: NaWakacjęPojadęDoWłoch
Barbara 🤦♂️ No, z czym do ludzi! Weź to zmień... [E=125]
Implementacja liczenia entropii w kodzie jest łatwa, zarówno po stronie frontendu, jak i backendu. UX dla usera jest przyjaźniejszy, a wygenerowane hasło prostsze do zapamiętania, aleee!
Nie musisz tego wszystkiego implementować samodzielnie.
Gotowiec: github.com/dropbox/zxcvbn
Oczywiście, ideałem byłoby, aby każdy użytkownik korzystał z menadżera haseł i kolejnej warstwy zabezpieczeń (jakieś 2FA), ale nie mamy bezpośredniego wpływu na edukację użytkownika w branży cybersec i nie kupimy Basi pary kluczy U2F.