<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Hit Subscribe</title>
    <description>The latest articles on DEV Community by Hit Subscribe (@hitsubscribe).</description>
    <link>https://dev.to/hitsubscribe</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F736%2F8905f6f7-6da1-4380-ab7b-ff87a154972f.jpg</url>
      <title>DEV Community: Hit Subscribe</title>
      <link>https://dev.to/hitsubscribe</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/hitsubscribe"/>
    <language>en</language>
    <item>
      <title>Is 1Password Secure? A Complete 2025 Risk Assessment</title>
      <dc:creator>Guillermo Salazar</dc:creator>
      <pubDate>Thu, 25 Sep 2025 14:37:00 +0000</pubDate>
      <link>https://dev.to/hitsubscribe/is-1password-secure-a-complete-2025-risk-assessment-12n1</link>
      <guid>https://dev.to/hitsubscribe/is-1password-secure-a-complete-2025-risk-assessment-12n1</guid>
      <description>&lt;p&gt;Long gone are the days when you could keep passwords written in a notebook. Have you counted how many passwords you need to juggle? Think bank accounts, your car payment, a few streaming services, and more email addresses than you care to remember. &lt;/p&gt;

&lt;p&gt;But the count doesn’t end there. You also have a professional life, complete with multiple email addresses, an intranet, and your preferred HR platform.&lt;/p&gt;

&lt;p&gt;On average, experts have indicated that Americans have to juggle a whopping &lt;a href="https://nordpass.com/blog/how-many-passwords-does-average-person-have/" rel="noopener noreferrer"&gt;150+ passwords&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Have you tried keeping track of all of them with pen and paper, let alone keeping them unique and secure? Enter the subject of today’s review: 1Password.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Is 1Password?
&lt;/h2&gt;

&lt;p&gt;1Password is a password manager, letting you conveniently and securely store your digital assets. Along with multi-factor authentication, password managers have become staples in today’s world.&lt;/p&gt;

&lt;p&gt;In this day and age, a password manager is a digital safe box in which we trust our login information, digital copies of important documents, and your cloud provider's root keys, among other things. &lt;/p&gt;

&lt;p&gt;Professional users store their company’s information, their team's passwords, and external agencies. Individuals will share everything from their passwords to medical records, credit card numbers, and bank accounts, emptying their entire digital footprint. Why wouldn’t you? It’s convenient, quick, and secure. Right? Keep reading; we’ll find out.&lt;/p&gt;

&lt;h3&gt;
  
  
  Platform Support and Features of 1Password
&lt;/h3&gt;

&lt;p&gt;If storing all that information with varying degrees of security, encryption, and protection isn’t enough, password managers need to integrate themselves into the final user’s day-to-day digital life. &lt;/p&gt;

&lt;p&gt;1Password excels at adapting to the user’s ecosystem with excellent out-of-the-box offerings, including cross-device syncs, autofills, vaults for organizing information, and more, all in a modern and clean UI.&lt;/p&gt;

&lt;p&gt;1Password has clients for all major operating systems: macOS, Linux, and Windows, as well as browser extensions for Firefox, Safari, Chrome (which, of course, includes Chromium-based browsers like Brave), and Edge. &lt;/p&gt;

&lt;p&gt;Since your digital ecosystem extends to your pocket, it also has official apps for Android and iOS. Bulletproof? Stay tuned.&lt;/p&gt;

&lt;h2&gt;
  
  
  Is 1Password Secure?
&lt;/h2&gt;

&lt;p&gt;1Password offers digital security through a set of key distinctive pillars through the “1Password &lt;a href="https://support.1password.com/1password-security/" rel="noopener noreferrer"&gt;security model&lt;/a&gt;.” Some of its unique points include:&lt;/p&gt;

&lt;p&gt;AES-256-bit Encryption&lt;/p&gt;

&lt;p&gt;AES-256-bit encryption, which ensures that your data (think of it as a digital vault) is encrypted on your local device and remains secure until it’s transmitted. Data is secured and obscured at rest and in transit.&lt;/p&gt;

&lt;h3&gt;
  
  
  Two-key Derivation
&lt;/h3&gt;

&lt;p&gt;1Password uses not only the account password but also a secret key. Both are needed to access the account. They claim that not even their employees can see the data without both, and none of them are accessible by 1Password themselves.&lt;/p&gt;

&lt;h3&gt;
  
  
  Metadata Encryption
&lt;/h3&gt;

&lt;p&gt;Beyond the passwords and users, 1Password encrypts metadata (URLs, titles, texts) so that a malicious actor wouldn’t know the difference between credit card details and the latest dinner recipes.&lt;/p&gt;

&lt;p&gt;Alongside those points, 1Password also advertises a bug bounty program, as well as transparent and &lt;a href="https://support.1password.com/security-assessments/" rel="noopener noreferrer"&gt;frequent security audits&lt;/a&gt; conducted by recognized members of the cybersecurity community.&lt;/p&gt;

&lt;h2&gt;
  
  
  Let’s Talk Compliance
&lt;/h2&gt;

&lt;p&gt;As one of the key players in the password manager industry, 1Password is up to date with the latest compliance standards, including SOC 2, GDPR, and ISO. All checked. Your CTO must be happy. But it’s not the end of the story.&lt;/p&gt;

&lt;p&gt;Certifications don’t necessarily mean safety. All you need is a user installing the wrong version on one of the 1,000 geographically distributed nodes. Yes, you’re ‘compliant,’ but you might be leaking data without noticing. &lt;/p&gt;

&lt;p&gt;According to this &lt;a href="https://spin.ai/blog/top-3-takeaways-from-the-saas-application-risk-report/" rel="noopener noreferrer"&gt;report&lt;/a&gt;, more than 75% of SaaS applications pose high or moderate risks to businesses. &lt;/p&gt;

&lt;p&gt;As security professionals and compliance officers know, this is typically what organizations get wrong and where &lt;a href="http://Spin.AI" rel="noopener noreferrer"&gt;Spin.AI&lt;/a&gt;’s platform shines: it verifies actual versions and permissions across your entire SaaS footprint. &lt;/p&gt;

&lt;h2&gt;
  
  
  Versioning &amp;amp; Updates
&lt;/h2&gt;

&lt;p&gt;Security isn’t a static concern. That’d make things too easy. Even solid applications like 1Password can be subject to the dangers that come from rushed software and hijacked updates. Yesterday’s fortress is now a weak point in your organization.&lt;/p&gt;

&lt;p&gt;Take Cyberhaven’s incident (December 2024): A trusted name in cybersecurity had its browser extension exploited by an attack campaign targeting Chrome extension developers. Cyberhaven wasn’t the only victim. &lt;/p&gt;

&lt;p&gt;The security community also reported on the RedDirection campaign, a comprehensive network of 18 well-known apps available in both the Chrome and Edge extension stores, which were targeted to hijack and redirect users’ traffic.&lt;/p&gt;

&lt;h3&gt;
  
  
  What Does This Mean for 1Password Users?
&lt;/h3&gt;

&lt;p&gt;What does this all mean for 1Password’s users like you or me? Every time there’s an update, browser extensions update automatically across all browsers and clients. The convenience of the auto-update can also mean a compromised piece of software could slip into your day-to-day without notice. &lt;/p&gt;

&lt;p&gt;That’s why it’s key to ask not just “is it secure?” but also “what version is the app on, and what permissions is it allowed to have?” And to answer those questions with data instead of blind trust, you can rely on tools like &lt;a href="https://spin.ai/application-risk-assessment/" rel="noopener noreferrer"&gt;this application risk assessment&lt;/a&gt;. It’s a great way to check the version you’re running and whether it behaves like it should.&lt;/p&gt;

&lt;h2&gt;
  
  
  Permissions and Trust Issues
&lt;/h2&gt;

&lt;p&gt;For any application to function correctly, it must be able to perform specific actions on your behalf within your environment and on your devices.&lt;/p&gt;

&lt;p&gt;These permissions are not limited to filling out forms on your browser; 1Password requires access to your clipboard, browser sessions, and browser storage. For Edge, it needs access to particularly high-risk areas, including the alarms and privacy APIs, as well as your tabs and downloads. &lt;/p&gt;

&lt;p&gt;I didn’t memorize all of those across different platforms and extensions, of course. I ran a quick &lt;a href="https://spin.ai/application-risk-assessment/" rel="noopener noreferrer"&gt;browser extension risk assessment&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fixksqzxddn41aat6a45f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fixksqzxddn41aat6a45f.png" alt=" " width="512" height="442"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Being able to view 1Password across all platforms and versions makes it easy to identify where the risk lies.&lt;/p&gt;

&lt;p&gt;I was interested in how 1Password performs on Edge, and my trust issues kicked in. It really makes you wonder, “Who approved this?”&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2e9u311gg2rpe05ruvro.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2e9u311gg2rpe05ruvro.png" alt=" " width="359" height="512"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Like I said above, even great software from security experts can go from a fortress to swiss cheese, and it can happen right in front of your eyes. You might be wondering: “Where does 1Password stand on that scale?”&lt;/p&gt;

&lt;p&gt;To date, 1Password has never had a vault-level breach. That’s a one-up above other solutions that have been &lt;a href="https://www.upguard.com/blog/lastpass-vulnerability-and-future-of-password-security" rel="noopener noreferrer"&gt;compromised&lt;/a&gt; at deeper levels. But “no breach” doesn’t translate to “risk-free” directly. Researchers were able to &lt;a href="https://support.1password.com/kb/202508/" rel="noopener noreferrer"&gt;uncover a clickjacking flaw&lt;/a&gt; (August 2025) in 1Password’s browser extension. However, it was quickly addressed.&lt;/p&gt;

&lt;p&gt;Sometimes the vulnerabilities don’t have to be in the encryption or security model of the application, but rather in the apps and extensions that surround it. The vault-level data is solid, but malicious actors can target the distribution to end-users.&lt;/p&gt;

&lt;h2&gt;
  
  
  Real Talk
&lt;/h2&gt;

&lt;p&gt;Is 1Password safe? Yes, at the vault level. &lt;/p&gt;

&lt;p&gt;However, the vulnerabilities for any app lie in the versions, extensions, updates, and end-device clients wrapped around them. Clickjacking flaws, overreached permissions, or extension hijacking can introduce risks without requiring an attack at the vault-level. &lt;/p&gt;

&lt;p&gt;Ultimately, the real question isn’t “Is 1Password safe?” It’s “Is &lt;em&gt;your&lt;/em&gt; version of 1Password safe?”&lt;/p&gt;

&lt;h3&gt;
  
  
  For Individual Users
&lt;/h3&gt;

&lt;p&gt;If you’re an individual, the smart move is to check what’s actually running on your digital ecosystem with tools like &lt;a href="https://spin.ai/application-risk-assessment/" rel="noopener noreferrer"&gt;this application risk assessment&lt;/a&gt;. &lt;/p&gt;

&lt;h3&gt;
  
  
  For Organizations
&lt;/h3&gt;

&lt;p&gt;If you’re responsible for your organization’s security, the stakes are high. Even seemingly small gaps—like overlooked browser extensions or misconfigured SaaS settings—can introduce meaningful risk. Conducting a structured assessment helps bring those issues to light so you can address them before they’re exploited.&lt;/p&gt;

&lt;p&gt;Depending on your environment, this might mean using built-in tools in platforms like Google Workspace, leaning on third-party assessments for extensions and SaaS apps, or setting up compliance dashboards for continuous monitoring. The goal is the same: gaining visibility into where vulnerabilities exist, then building the processes and defenses to keep them under control.&lt;/p&gt;

&lt;p&gt;If you’re interested in knowing where your SaaS environment stands, a &lt;a href="https://spin.ai/demo/" rel="noopener noreferrer"&gt;demo&lt;/a&gt; of Spin.AI’s platform lets you see how to surface risks and enhance your defenses through compliance dashboards, continuous monitoring, and real-time tracking. &lt;/p&gt;

</description>
    </item>
    <item>
      <title>Is the ChatGPT Extension Safe? Assessing the Risks in 2025</title>
      <dc:creator>Eric Boersma</dc:creator>
      <pubDate>Wed, 24 Sep 2025 15:54:34 +0000</pubDate>
      <link>https://dev.to/hitsubscribe/is-the-chatgpt-extension-safe-assessing-the-risks-in-2025-4h5i</link>
      <guid>https://dev.to/hitsubscribe/is-the-chatgpt-extension-safe-assessing-the-risks-in-2025-4h5i</guid>
      <description>&lt;p&gt;At the time of writing, ChatGPT is the &lt;a href="https://www.similarweb.com/website/chatgpt.com/" rel="noopener noreferrer"&gt;sixth most popular website&lt;/a&gt; in the world. Billions of people every month visit ChatGPT for any number of reasons. Many use it to improve their work, some use it as a conversational companion, and others still have it help to complete school assignments. It should come as no surprise that extension developers have rushed to fill the market with browser extensions that integrate with the popular LLM.&lt;/p&gt;

&lt;p&gt;But whether you’re an enterprise user or an individual, adding a ChatGPT browser extension (aka plugin) raises an important question: Is this safe? Savvy internet users know that popular new computer capabilities also &lt;a href="https://spin.ai/blog/how-spinai-researchers-uncovered-142-million-more-victims-in-the-reddirection-browser-extension-attack-campaign/" rel="noopener noreferrer"&gt;attract malicious developers&lt;/a&gt; who are more than happy to offer you a deal: install their extension, and they’ll get access to what they seek. This can include everything from corporate SaaS credentials to full control of your computer. &lt;/p&gt;

&lt;p&gt;With that in mind, let’s take a dive into the deep end of ChatGPT extensions. We’ll evaluate the landscape, give you the tools you need to inspect any ChatGPT extension that your team might want to use, and help you make a decision about whether or not that extension is safe.&lt;/p&gt;

&lt;h2&gt;
  
  
  Which ChatGPT Extension?
&lt;/h2&gt;

&lt;p&gt;If you’re trying to figure out whether “the” ChatGPT extension is safe, you first need to answer: Which ChatGPT extension? Here’s the thing: Anyone can put an extension on the browser app stores. That’s even more true with a tool like ChatGPT, where the true functionality lives on the remote website, meaning that any extension you might download is likely to be a wrapper around a basic API, and may even have man-in-the-middle architecture.&lt;/p&gt;

&lt;p&gt;The reality of ChatGPT extensions right now is that they’re kind of like the Wild West. If you load up the Chrome Extension Store and &lt;a href="https://chromewebstore.google.com/search/chatgpt" rel="noopener noreferrer"&gt;search for ChatGPT&lt;/a&gt;, the responses are effectively endless. What this means is that if you have someone asking if they can use a ChatGPT extension, you first need to determine just what extension they’re looking to use. Chances are, if you’re managing an enterprise team, you probably have requests to use a dozen ChatGPT extensions or more. &lt;/p&gt;

&lt;p&gt;Making things even more complicated, attackers can &lt;a href="https://www.nightfall.ai/blog/heres-what-we-can-learn-from-the-cyberhaven-incident" rel="noopener noreferrer"&gt;compromise a developer’s account&lt;/a&gt; and ship compromised versions, even when previous versions were safe.&lt;/p&gt;

&lt;p&gt;Before you can answer whether or not it’s safe to install an extension, you need to nail down the details. Once you’ve done that, you can move on to the next step of the process: evaluating the extension(s) to determine how safe they are and review all potential risks.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Should I Evaluate an Extension?
&lt;/h2&gt;

&lt;p&gt;If you want to take a shortcut, this &lt;a href="https://spin.ai/application-risk-assessment/" rel="noopener noreferrer"&gt;Free App &amp;amp; Extension Risk Assessment&lt;/a&gt; will give you the rundown on hundreds of thousands of extensions available on browser app stores. But let’s take a look at the key attributes you should consider when evaluating any kind of browser extension.&lt;/p&gt;

&lt;h3&gt;
  
  
  Permissions
&lt;/h3&gt;

&lt;p&gt;The first question that you should answer with any browser extension is the most obvious one: What can the extension do? When a developer registers an extension on a browser store, they need to request permissions for what the app can do and what sites it can operate on. Understanding both of those parameters goes a long way toward understanding how risky an extension is. In cases where an extension is malicious, it may take actions without consent. Meaning, you can read the stated permissions an extension is requesting, but know that you still have to be able to trust the developer who created it. That will require a little sleuthing, but it’s a common deception and worth doing to protect your corporate environment.&lt;/p&gt;

&lt;h3&gt;
  
  
  External Communications
&lt;/h3&gt;

&lt;p&gt;Step two in understanding the risk an extension poses is understanding what external sites an extension can talk to. If you’re using this &lt;a href="https://spin.ai/application-risk-assessment/" rel="noopener noreferrer"&gt;application risk assessment&lt;/a&gt;, you can see a rundown of which websites an extension talks to in the course of operations. &lt;/p&gt;

&lt;p&gt;Obviously, with any ChatGPT extension, it’ll need to make calls to some external websites. After all, ChatGPT isn’t hosted on the user’s local computer. Any other website connections should be evaluated carefully. This may include remote C2 servers capable of command-and-control actions that can be changed at will by whomever controls those servers. As with the previous tip, it’s good to keep in mind that you may or may not see this spelled out in the extension’s description. So, make sure you trust the developer.&lt;/p&gt;

&lt;h3&gt;
  
  
  Developer Reputation
&lt;/h3&gt;

&lt;p&gt;While a developer’s reputation is no guarantee of the quality of an extension, it’s a good proxy. An extension from Google itself is much more likely to be reputable than one from an individual developer. An extension that is backed by a reputable company is more likely to respond to any security vulnerabilities than one helmed by a small team. &lt;/p&gt;

&lt;p&gt;Again, none of this is a guarantee. You shouldn’t simply assume that just because an extension comes from a reputable developer, it’ll be safe. But it’s a good first step.&lt;/p&gt;

&lt;h3&gt;
  
  
  Developer Jurisdiction
&lt;/h3&gt;

&lt;p&gt;Aside from understanding the background of the developer, it’s also important to understand where that developer is headquartered. If you live in the same country, it’s much easier to seek legal redress if a developer ships an extension that causes your company harm. If you’re in the United States, and the developer is somewhere like Russia, it’s unlikely that you’d ever have a chance to meaningfully redress any damages, whether their behavior was intentional or not.&lt;/p&gt;

&lt;p&gt;If they are using a free email domain and provide any information that is inaccurate, you may have a hard time nailing down where they are physically located.&lt;/p&gt;

&lt;h2&gt;
  
  
  Non-Traditional Risks Related to LLM Extensions
&lt;/h2&gt;

&lt;p&gt;When we’re talking about ChatGPT, &lt;a href="https://spin.ai/browser-extension-risk-assessment-plugin/#:~:text=Assess%20the%20Risk%20of%20Browser,compliance%20risks%20of%20each%20extension." rel="noopener noreferrer"&gt;extension risks&lt;/a&gt; expand beyond the traditional footprint. This is because, by definition, any LLM extension is going to execute untrusted code by the nature of its function. This might seem unintuitive, but take a moment to think about it.&lt;/p&gt;

&lt;p&gt;The nature of LLMs is that they take natural text and process that, returning some output. When you consider that behavior, the LLM serves as an interpreter, and that natural language is now a computer program. Meaning, the input has been processed somewhere and may even have been added to its semantic core.&lt;/p&gt;

&lt;p&gt;That kind of capability is extremely powerful. But it also exposes the user to an extremely broad range of threats, because any text that you feed into the LLM can instruct the LLM to take actions. If the user isn’t carefully examining every instruction, that might lead to the LLM taking actions that the user doesn’t intend. &lt;/p&gt;

&lt;p&gt;In fact, security researchers are &lt;a href="https://brave.com/blog/comet-prompt-injection/" rel="noopener noreferrer"&gt;already identifying&lt;/a&gt; scenarios where simply asking an LLM to “summarize” a webpage can lead to an LLM taking malicious action based on nothing more than some hidden text on the page itself. Connecting an LLM to your browser, which you use to access your most sensitive data, presents substantial risks that are inherent to the technology.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Bottom Line: Is the ChatGPT Extension Safe?
&lt;/h2&gt;

&lt;p&gt;So, let’s break it down to brass tacks. Is the ChatGPT extension safe? It’s hard to say, in the absence of more information. There are dozens of ChatGPT extensions, and it’s impossible to provide a rundown of all of them in this space. Even if we tried, it’s likely that by the time you reached the end of the list, you’d find that there were new extensions to evaluate. &lt;/p&gt;

&lt;p&gt;So, for a specific extension, the best bet is to find it on Spin.AI’s &lt;a href="https://spin.ai/application-risk-assessment/" rel="noopener noreferrer"&gt;application risk assessment&lt;/a&gt; and look through a detailed breakdown to determine whether the extension meets your standards.&lt;/p&gt;

&lt;p&gt;But at a broader level, the answer to the bigger security question is that the extension you’re looking at probably shouldn’t be trusted. That’s simply a reality of LLM security at the moment. These are powerful tools that unlock myriad new interaction patterns with powerful computers. But those new interaction patterns demolish existing security paradigms, and malicious users are more than happy to take advantage of these new holes.&lt;/p&gt;

&lt;p&gt;The reality is that the landscape around these tools is shifting all the time. An extension that’s a bad idea today might be perfectly fine after a few tweaks in a couple of months. It’s important to stay on top of these things.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Is Grammarly Safe? A Complete Explanation of Risks</title>
      <dc:creator>Bravin Wasike</dc:creator>
      <pubDate>Fri, 19 Sep 2025 15:24:31 +0000</pubDate>
      <link>https://dev.to/hitsubscribe/is-grammarly-safe-a-complete-explanation-of-risks-4ban</link>
      <guid>https://dev.to/hitsubscribe/is-grammarly-safe-a-complete-explanation-of-risks-4ban</guid>
      <description>&lt;p&gt;Grammarly is one of the most popular writing assistants on the market today. Millions of users rely on it to check grammar, spelling, and tone across their communications. But a question often arises: Is Grammarly safe?&lt;/p&gt;

&lt;p&gt;This isn’t just an idle curiosity. Users like IT admins, compliance teams, and privacy-conscious professionals want to know whether Grammarly poses risks to their sensitive data. They also have concerns about organizational compliance and overall cybersecurity. &lt;/p&gt;

&lt;p&gt;The short answer is that Grammarly is generally safe, but there are nuances. Like any cloud-based SaaS application or browser extension, its safety depends on how it’s used, how versions are managed, and how risks are mitigated.&lt;/p&gt;

&lt;p&gt;In this article, we’ll break down everything you need to know about Grammarly’s data collection, security measures, compliance risks, history of incidents, and how to protect yourself. We’ll also show you how to evaluate Grammarly, or any SaaS app or extension, objectively.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Is Grammarly, and How Does It Work?
&lt;/h2&gt;

&lt;p&gt;Grammarly is an AI-powered writing assistant delivered as a web editor, desktop apps (Windows/macOS), mobile keyboards (iOS/Android), and browser extensions (Chrome, Edge, Firefox, Safari). &lt;/p&gt;

&lt;p&gt;Once installed, Grammarly can check everything you type across supported platforms, including&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Emails in Gmail or Outlook.&lt;/li&gt;
&lt;li&gt;Documents in Microsoft Word and Google Docs.&lt;/li&gt;
&lt;li&gt;Social media posts and blogs.&lt;/li&gt;
&lt;li&gt;Messaging applications.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;When you type in a supported app, Grammarly analyzes the text to suggest grammar, spelling, clarity, tone, and rewrite improvements. Depending on your settings and plan, it can also provide plagiarism detection, brand tone, and team style guides.&lt;/p&gt;

&lt;h3&gt;
  
  
  How Grammarly Processes Text
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Client-side capture&lt;/strong&gt;: The extension or app identifies editable text fields in the page/app you’re using.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Secure transmission&lt;/strong&gt;: Text snippets and context are transmitted to Grammarly’s cloud for analysis (scope depends on settings and exclusions).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Model inference&lt;/strong&gt;: Grammarly’s NLP/LLM models analyze the text for grammar, clarity, tone, and other checks (e.g., plagiarism for subscribers).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Return suggestions&lt;/strong&gt;: Suggestions appear inline; you accept or ignore them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Telemetry &amp;amp; diagnostics&lt;/strong&gt;: Usage/diagnostic metadata may be collected to improve performance and reliability.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This workflow inherently involves transmitting what you type to a third-party service. So you must decide which data is appropriate to route through Grammarly and which is not.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Versioning Problem: Why Each Grammarly Version Needs a Separate Review
&lt;/h2&gt;

&lt;p&gt;One of the biggest overlooked risks with SaaS apps and browser extensions like Grammarly is versioning.&lt;/p&gt;

&lt;p&gt;Apps like Grammarly frequently update their software. While updates are meant to patch bugs or introduce features, they can also unintentionally or maliciously introduce risks. For example,&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;A compromised update could insert malicious code without the vendor’s immediate knowledge.&lt;/li&gt;
&lt;li&gt;A third party could publish a fraudulent extension that looks identical to Grammarly but behaves differently.&lt;/li&gt;
&lt;li&gt;Even legitimate updates may request broader permissions that create new risks.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is not theoretical. In December 2024, &lt;a href="https://spin.ai/blog/risks-of-browser-extensions-cyberhavens-breach/" rel="noopener noreferrer"&gt;Cyberhaven, a respected cybersecurity company, suffered a massive breach&lt;/a&gt; when attackers compromised their software update process. Customers who dutifully updated their tools were unknowingly opening a back door for attackers.&lt;/p&gt;

&lt;p&gt;That’s why it’s critical to evaluate the specific version of Grammarly being deployed, not just “Grammarly” as a whole.&lt;/p&gt;

&lt;h2&gt;
  
  
  Action Plan
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Inventory versions in your environment (per browser and OS).&lt;/li&gt;
&lt;li&gt;Assess each version with Spin.AI’s &lt;a href="https://spin.ai/application-risk-assessment/" rel="noopener noreferrer"&gt;application risk assessment&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Track change logs and permission diffs between versions.&lt;/li&gt;
&lt;li&gt;Pin or stagger updates for high-risk groups. Pilot before organization-wide rollout.&lt;/li&gt;
&lt;li&gt;Continuously monitor for reputation changes or new findings.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  A Breakdown: What Data Does Grammarly Collect?
&lt;/h2&gt;

&lt;p&gt;Grammarly’s published &lt;a href="https://www.grammarly.com/privacy-policy" rel="noopener noreferrer"&gt;privacy policy&lt;/a&gt; documentation lists multiple categories of data the service collects and processes. Important categories include:&lt;/p&gt;

&lt;h3&gt;
  
  
  Text Data (content)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The words you type into the Grammarly editor or into text fields where Grammarly is active are processed to generate suggestions. &lt;/li&gt;
&lt;li&gt;Grammarly says it avoids certain sensitive fields (e.g., password fields) but otherwise must analyze text to function.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Account &amp;amp; Profile Data
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Name, email, organization domain, subscription tier, billing info (for paid plans)&lt;/li&gt;
&lt;li&gt;Team/workspace configuration (enterprise)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Device, App, and Session Data
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Browser/OS type and version, app version, device identifiers, and IP ranges&lt;/li&gt;
&lt;li&gt;Crash logs, performance metrics, and feature usage&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Telemetry/Metadata
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Error categories, suggestion acceptance rates, and frequency of use&lt;/li&gt;
&lt;li&gt;Potentially inferred patterns (e.g., usage hours, document length ranges)&lt;/li&gt;
&lt;li&gt;Telemetry, used for debugging and product improvement&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Behavioral Data
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;In some configurations, activity and usage patterns are used to optimize suggestions or features.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Because content is processed in Grammarly’s cloud, anything typed into an inspected field may be transmitted. So even if the company does not intend to store sensitive content long-term, temporary processing and associated metadata are part of the attack surface.&lt;/p&gt;

&lt;h2&gt;
  
  
  Compliance Risks With Grammarly
&lt;/h2&gt;

&lt;p&gt;For organizations in regulated industries (healthcare, finance, legal, etc.), compliance is often a bigger concern than functionality. Grammarly users may inadvertently create risks under frameworks such as:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. HIPAA (Health Insurance Portability and Accountability Act)
&lt;/h3&gt;

&lt;p&gt;The &lt;a href="https://spin.ai/blog/how-spinone-helps-you-meet-hipaa-compliance/" rel="noopener noreferrer"&gt;Health Insurance Portability and Accountability&lt;/a&gt; Act of 1996 establishes a set of standards to protect sensitive health information. Grammarly is compliant with &lt;a href="https://spin.ai/blog/hipaa-compliance-checklist/" rel="noopener noreferrer"&gt;HIPAA&lt;/a&gt; security, privacy, and breach notification rules.&lt;/p&gt;

&lt;p&gt;Grammarly’s public materials indicate it supports certain enterprise controls and can enter into business associate agreements (BAAs) under some conditions, but these are not unconditional. Organizations handling PHI should confirm a signed BAA and specific controls.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. GDPR (General Data Protection Regulation) / CCPA (California Consumer Privacy Act)
&lt;/h3&gt;

&lt;p&gt;Grammarly publishes &lt;a href="https://spin.ai/blog/what-is-gdpr-compliance/" rel="noopener noreferrer"&gt;GDPR&lt;/a&gt; and other privacy compliance statements and provides subject-rights options, but data residency, transfer, and subprocessors still matter for compliance teams.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Contractual or IP Risk
&lt;/h3&gt;

&lt;p&gt;Sending drafts of proprietary code, confidential contracts, or trade secrets through an external NLP service can violate internal policies or third-party NDAs. Legal teams should evaluate use cases.&lt;/p&gt;

&lt;p&gt;For regulated or highly confidential workflows, treat Grammarly as “conditionally allowed” and require explicit exceptions, contracts, or isolation.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. SOC 2
&lt;/h3&gt;

&lt;p&gt;Grammarly has completed &lt;a href="https://spin.ai/blog/soc-2-compliance-checklist-for-enterprises/" rel="noopener noreferrer"&gt;SOC 2&lt;/a&gt; (Type 1) and SOC 2 (Type 2) examinations and received corresponding reports. These examinations validate that Grammarly meets the strict SOC 2 standards for security, availability, confidentiality, and privacy of our customers’ data.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. SOC 3
&lt;/h3&gt;

&lt;p&gt;Grammarly’s SOC 3 report is a publicly available version of the SOC 2 (Type 2) report. To learn more, view the &lt;a href="https://assets.ctfassets.net/1e6ajr2k4140/6aciUJi2rkM8d64mUChpoR/a74a36043e4e305e3f0aa30455e89e2f/Grammarly_SOC_3_Report_FY23.pdf" rel="noopener noreferrer"&gt;System and Organization Controls (SOC 3) Report.&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Grammarly’s Requested App Permissions (By Platform)
&lt;/h2&gt;

&lt;p&gt;Like most apps, Grammarly needs certain permissions to function across different platforms. These permissions control what the app can access on your device, such as the text you type, the websites you visit, or specific system features. They are directly tied to how Grammarly provides suggestions. Understanding them makes it clearer what data Grammarly can interact with and where potential risks may arise.&lt;/p&gt;

&lt;h3&gt;
  
  
  Browser Extensions
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Read/modify content in web pages you visit (to analyze text and render suggestions).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Communicate with Grammarly’s servers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Optional clipboard or download access where features require it.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Site access scopes (all sites vs. specific sites; on click vs. automatically).&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Desktop apps (Windows/macOS)
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Accessibility/typing overlay permissions to read text in applications.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Network access to connect to Grammarly’s service.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Auto-update permissions (version control risk consideration).&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Mobile Keyboards (iOS/Android)
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Full-access keyboards may transmit typed input for suggestion generation.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Network access for cloud suggestions may be limited in local-only modes.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;These permissions are necessary for Grammarly to provide real-time writing feedback across platforms. However, they also mirror the same permissions that malicious browser extensions exploit. Attackers often disguise malware as legitimate tools by asking for broad permissions. This is why version-level risk assessment is crucial.&lt;/p&gt;

&lt;h2&gt;
  
  
  Security Measures Grammarly Uses
&lt;/h2&gt;

&lt;p&gt;Grammarly implements several security controls:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Encryption:&lt;/strong&gt; TLS &lt;a href="https://spin.ai/blog/what-is-data-encryption-and-why-is-it-so-important/" rel="noopener noreferrer"&gt;encryption&lt;/a&gt; for data in transit and AES-256 for data at rest.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Bug bounty program:&lt;/strong&gt; Partnerships with security researchers to identify vulnerabilities.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Zero-access design:&lt;/strong&gt; Sensitive authentication details (like payment information) are tokenized and not accessible to Grammarly employees.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;SOC 2 (Type II) certification:&lt;/strong&gt; Ensures compliance with recognized security frameworks.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;These measures show that Grammarly takes security seriously, but as with any &lt;a href="https://spin.ai/blog/saas-security-tools/" rel="noopener noreferrer"&gt;SaaS tool&lt;/a&gt;, vulnerabilities can still emerge, especially through updates.&lt;/p&gt;

&lt;h2&gt;
  
  
  Risks of Using Grammarly
&lt;/h2&gt;

&lt;p&gt;Even with strong security measures, Grammarly carries risks:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Data exposure:&lt;/strong&gt; Sensitive information could be processed in Grammarly’s cloud.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Compliance violations:&lt;/strong&gt; Use in regulated industries may breach HIPAA, GDPR, or internal confidentiality rules.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Malicious extensions:&lt;/strong&gt; Fraudulent or compromised versions could bypass Grammarly’s safeguards.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Insider threat:&lt;/strong&gt; If Grammarly accounts are compromised, attackers may gain access to stored documents or settings.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Third-party access:&lt;/strong&gt; Service providers working with Grammarly increase the potential attack surface.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Over-broad permissions:&lt;/strong&gt; “Read and change data on all websites” is risky by default.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Supply-chain/version risk:&lt;/strong&gt; A single compromised update can flip risk overnight.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Shadow IT &amp;amp; sprawl:&lt;/strong&gt; &lt;a href="https://spin.ai/blog/unraveling-the-risk-of-shadow-it/" rel="noopener noreferrer"&gt;Unmanaged installs&lt;/a&gt; across browsers/devices bypass central controls.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Lookalike/malware risk:&lt;/strong&gt; Fake Grammarly apps/extensions can harvest credentials and data.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Is Grammarly a Keylogger or a Security Threat?
&lt;/h2&gt;

&lt;p&gt;One common concern is whether Grammarly functions as a keylogger. By definition, a keylogger records everything a user types, often for malicious purposes. Grammarly does not operate as a traditional keylogger, but the concern arises because it captures typed input to provide suggestions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Keyloggers are malicious programs that secretly record every keystroke.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Grammarly only processes text in active writing fields to provide feedback.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Grammarly states it does not monitor password fields or sensitive system entries. Still, from a technical perspective, Grammarly does behave in ways that resemble keylogging. It monitors text input and transmits it to external servers.&lt;/p&gt;

&lt;p&gt;The distinction lies in intent and transparency. Grammarly is a productivity tool, not malware. But organizations should still treat it with the same caution as any app that processes typed content.&lt;/p&gt;

&lt;h2&gt;
  
  
  Has Grammarly Ever Been Hacked? Security History and Risks
&lt;/h2&gt;

&lt;p&gt;To date, Grammarly has not reported a major breach involving widespread compromise of user data. However, in &lt;a href="https://nvd.nist.gov/vuln/detail/CVE-2018-6654" rel="noopener noreferrer"&gt;2018&lt;/a&gt;, a security researcher discovered a vulnerability in Grammarly’s Chrome extension that exposed authentication tokens. &lt;/p&gt;

&lt;p&gt;This flaw could have allowed attackers to hijack accounts. &lt;a href="https://nvd.nist.gov/vuln/detail/CVE-2018-6654" rel="noopener noreferrer"&gt;Grammarly patched the issue quickly&lt;/a&gt;, but the incident highlighted the risks of browser extensions.&lt;/p&gt;

&lt;p&gt;More recently, in &lt;a href="https://salt.security/press-releases/salt-security-discovers-lack-of-token-verification-flaw-in-oauth-implementations-likely-impacting-1000s-of-websites-and-exposing-users-to-credential-leakage-and-account-takeover?utm_source=chatgpt.com" rel="noopener noreferrer"&gt;2023&lt;/a&gt;, Salt Security uncovered a broader OAuth implementation flaw affecting thousands of websites, including Grammarly. This vulnerability could have enabled credential leakage or account takeover under certain conditions, though Grammarly promptly addressed the issue after disclosure.&lt;/p&gt;

&lt;p&gt;Researchers have shown in their work on &lt;a href="https://spin.ai/blog/how-spinai-researchers-uncovered-142-million-more-victims-in-the-reddirection-browser-extension-attack-campaign/" rel="noopener noreferrer"&gt;malicious browser extensions&lt;/a&gt;, even legitimate apps can become compromised if attackers inject code or exploit version updates.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Users Can Do to Protect Themselves
&lt;/h2&gt;

&lt;p&gt;If you decide to use Grammarly, here are the steps to reduce risks:&lt;/p&gt;

&lt;h3&gt;
  
  
  Classify Data
&lt;/h3&gt;

&lt;p&gt;Decide which data types may be processed by Grammarly.&lt;/p&gt;

&lt;h3&gt;
  
  
  Scope Deployment
&lt;/h3&gt;

&lt;p&gt;Use managed browser policies, domain allowlists/denylists, and separate profiles.&lt;/p&gt;

&lt;h3&gt;
  
  
  Assess Versions Before Rollout
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Go to &lt;a href="http://Spin.AI" rel="noopener noreferrer"&gt;Spin.AI&lt;/a&gt;’s free &lt;a href="https://spin.ai/application-risk-assessment/" rel="noopener noreferrer"&gt;application risk assessment&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Search for Grammarly and review the risk details for the specific version you plan to deploy.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Compare versions across browsers/OS. Take note of permissions and behavioral changes.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Pilot, Then Expand
&lt;/h3&gt;

&lt;p&gt;Test with a small group, monitor logs, and capture feedback.&lt;/p&gt;

&lt;h3&gt;
  
  
  Limit Extension Scope in Chrome
&lt;/h3&gt;

&lt;p&gt;Restrict site access to necessary domains rather than “all sites.”&lt;/p&gt;

&lt;h3&gt;
  
  
  Educate Users
&lt;/h3&gt;

&lt;p&gt;Explain when/where Grammarly is allowed and how to disable it on sensitive sites.&lt;/p&gt;

&lt;h3&gt;
  
  
  Watch the Ecosystem
&lt;/h3&gt;

&lt;p&gt;Track campaigns and ecosystem threats with this &lt;a href="https://spin.ai/resources/compromised-browser-extensions-tracker/" rel="noopener noreferrer"&gt;2025 malicious browser extension tracker&lt;/a&gt; and related research on &lt;a href="https://spin.ai/blog/how-spinai-researchers-uncovered-142-million-more-victims-in-the-reddirection-browser-extension-attack-campaign/" rel="noopener noreferrer"&gt;malicious browser extensions&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Contractual Protections
&lt;/h3&gt;

&lt;p&gt;If you must process regulated data, ensure a BAA or equivalent is in place and confirm where data is stored and how it is deleted.&lt;/p&gt;

&lt;h2&gt;
  
  
  Does Grammarly Collect My Personal Information?
&lt;/h2&gt;

&lt;p&gt;Yes, Grammarly collects personal information, though the extent varies depending on how you use the app. According to Grammarly’s privacy policy, they collect&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Personal account details:&lt;/strong&gt; Name, email address, and payment information for premium plans.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Usage data:&lt;/strong&gt; Device type, browser type, IP address, operating system, and app version.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Text input data:&lt;/strong&gt; The content you type, which Grammarly analyzes to provide suggestions.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Grammarly notes that it does not permanently store all text you type. Instead, it processes input in real-time and may temporarily cache snippets for analysis. However, metadata and diagnostic data are often retained for product improvement and troubleshooting.&lt;/p&gt;

&lt;h2&gt;
  
  
  Does Grammarly Share Your Sensitive Data With Third Parties?
&lt;/h2&gt;

&lt;p&gt;Grammarly states that it does not sell your personal data. However, it does share certain data with trusted third parties for the following purposes:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Payment processing (e.g., Stripe, PayPal).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Cloud infrastructure services (e.g., Amazon Web Services).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Analytics and performance monitoring tools.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Although these are standard practices, third-party integrations increase the overall attack surface. If one vendor is compromised, your data may be indirectly exposed.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Grammarly Does and Doesn’t Store
&lt;/h2&gt;

&lt;p&gt;While specifics can change by feature and version, Grammarly’s data handling generally falls into two categories: information that is commonly stored or retained, and information that is processed temporarily and not stored long-term.&lt;/p&gt;

&lt;h3&gt;
  
  
  Commonly Stored or Retainable
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Account/profile/subscription data.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Documents you explicitly save in Grammarly’s editor.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Settings, style guides, dictionaries, and team policies.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Diagnostic logs and usage analytics (metadata).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Commonly Not Stored Long-term
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Ephemeral text processed solely to generate inline suggestions (unless a feature requires retention or you save content).&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Does Grammarly Collect Metadata and Diagnostic Data?
&lt;/h2&gt;

&lt;p&gt;Yes. Grammarly collects metadata, including document length, error frequency, feature usage, and diagnostic logs. While this may not include raw content, metadata can still reveal patterns about your writing behavior and professional activity.&lt;/p&gt;

&lt;p&gt;For example, metadata could indicate how often a legal team drafts contracts or how frequently a student writes essays. This type of information may pose compliance risks if shared or accessed by unauthorized parties.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Keep Your Grammarly Account Secure
&lt;/h2&gt;

&lt;p&gt;Users can take these steps to enhance Grammarly's security:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Enable two-factor authentication:&lt;/strong&gt; Add an extra layer of &lt;a href="https://spin.ai/blog/google-workspace-2-step-verification/" rel="noopener noreferrer"&gt;protection&lt;/a&gt; against account takeover.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Limit use in sensitive contexts:&lt;/strong&gt; Disable Grammarly on platforms where you handle PHI, financial data, or confidential corporate documents.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Review permissions:&lt;/strong&gt; Check which browsers and devices Grammarly is installed on.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Monitor account activity:&lt;/strong&gt; Review Grammarly account login history for unusual access.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  How to Enhance Your Privacy When Using Grammarly
&lt;/h2&gt;

&lt;p&gt;Privacy-conscious users can further reduce risks by:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Using Grammarly’s desktop app instead of the browser extension when possible (fewer third-party interactions).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Excluding sensitive sites from Grammarly’s monitoring.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Regularly clear cached data and revoke permissions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Reviewing Grammarly’s privacy settings to minimize data sharing.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  How to Delete Your Personal Data From Grammarly
&lt;/h2&gt;

&lt;p&gt;If you want to remove your data, Grammarly allows users to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Sign in to your Grammarly account.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Go to &lt;strong&gt;Account → Privacy or Account Settings&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Request &lt;strong&gt;data export&lt;/strong&gt; (optional) and/or &lt;strong&gt;data deletion&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;For enterprise users, please contact your administrator. Deletion may be governed by corporate retention policies.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Confirm completion and verify removal of the extension/app from devices if you’re offboarding.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This action complies with GDPR’s “right to be forgotten” but may limit future use of the tool.&lt;/p&gt;

&lt;h2&gt;
  
  
  Is Grammarly Safe to Use on Different Devices?
&lt;/h2&gt;

&lt;p&gt;Grammarly is available across:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Browsers (Chrome, Edge, Safari, Firefox).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Desktop (Windows, macOS).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Mobile (iOS, Android).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each platform has unique risks. For example, browser extensions face higher exposure to malicious updates, while mobile apps rely on permissions that may grant broader access to device data. IT admins should evaluate risks per platform and control deployments accordingly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Can Grammarly Access Everything You Type?
&lt;/h2&gt;

&lt;p&gt;Grammarly can access text fields in supported applications. However, it does not work in&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Password fields.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Certain secure websites (e.g., banking logins).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Still, users should assume Grammarly has broad access when enabled, making it important to disable the app in contexts involving sensitive data.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Verdict: Is Grammarly Safe?
&lt;/h2&gt;

&lt;p&gt;So, is Grammarly safe?&lt;/p&gt;

&lt;p&gt;For most casual users, yes. It’s generally secure and trustworthy. Grammarly can be safe if you treat it like any other powerful data processor. Safety depends on what you send to it, how tightly you control permissions, and how rigorously you monitor version updates. &lt;/p&gt;

&lt;p&gt;For consumers and many business use cases, sensible configuration and hygiene are sufficient. For regulated data, keep Grammarly out of those workflows unless you have an airtight policy coverage and vendor assurances.&lt;/p&gt;

&lt;p&gt;The most reliable way to answer “Is Grammarly safe?” is to test and verify:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Run Spin’s assessment&lt;/strong&gt;: Research Grammarly (by version) in the &lt;a href="https://spin.ai/application-risk-assessment/" rel="noopener noreferrer"&gt;free application risk assessment&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Operationalize controls:&lt;/strong&gt; Use SSO/MFA, extension policies, domain blocklists, data classification, and version pinning.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Stay informed:&lt;/strong&gt; Track extension threats with the &lt;a href="https://spin.ai/resources/compromised-browser-extensions-tracker/" rel="noopener noreferrer"&gt;2025 malicious browser extension tracker&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
    </item>
    <item>
      <title>Build A Dual-Purpose App: Text-to-Image and Custom Chatbot Using Comet, GPT-3.5, DALL-E 2, and Streamlit</title>
      <dc:creator>TheophilusOnyejiaku </dc:creator>
      <pubDate>Wed, 29 May 2024 12:05:46 +0000</pubDate>
      <link>https://dev.to/hitsubscribe/build-a-dual-purpose-app-text-to-image-and-custom-chatbot-using-comet-gpt-35-dall-e-2-and-streamlit-14o5</link>
      <guid>https://dev.to/hitsubscribe/build-a-dual-purpose-app-text-to-image-and-custom-chatbot-using-comet-gpt-35-dall-e-2-and-streamlit-14o5</guid>
      <description>&lt;h2&gt;Overview&lt;/h2&gt;

&lt;p&gt;In this guide, we will explore how to create a dual-purpose application: a chatbot powered by custom dataset and a text-to-image generator, using OpenAI’s GPT-3.5 turbo and DALL-E 2 models, along with Comet and Streamlit.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.hitsubscribe.com%2Fwp-content%2Fuploads%2F2024%2F04%2FAll-technologies.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.hitsubscribe.com%2Fwp-content%2Fuploads%2F2024%2F04%2FAll-technologies.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now let’s take a brief look at the infrastructures we will be using.&lt;/p&gt;

&lt;h2&gt;Comet&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.comet.com/" rel="noopener noreferrer"&gt;Comet&lt;/a&gt; is a platform that offers real-time experiment tracking with additional collaboration features. With Comet you can log your object detection models (YOLO, Tensorflow), large language models, regression and classification models and the like, with their various parameters.  It also gives you the capability to monitor the training and prompting of all of these models and provides you with the option to share your logged projects publicly or privately with your team.&lt;/p&gt;

&lt;p&gt;One advantage Comet has over similar platforms is its ability to easily integrate with your existing infrastructure and tools so you can manage, visualize, and optimize models from training runs to production monitoring.  &lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.hitsubscribe.com%2Fwp-content%2Fuploads%2F2024%2F04%2FCOMET-HOMEPAGE-e1713469576872.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.hitsubscribe.com%2Fwp-content%2Fuploads%2F2024%2F04%2FCOMET-HOMEPAGE-e1713469576872.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;GPT-3.5 Turbo Model&lt;/h2&gt;

&lt;p&gt;According to OpenAI, the GPT-3.5 Turbo is a model that improves on GPT-3.5 and can understand as well as generate natural language or code. With the help of user feedback, OpenAI has improved the GPT-3.5 Turbo language model, making it more proficient at understanding and following instructions. Being a fine-tuned model by OpenAI, it has been given examples of inputs and expected outputs to train (fine-tune) it for a particular task. OpenAI created GPT-3.5 Turbo as an expansion of their well-liked GPT-3 model. The GPT-3.5-Turbo-Instruct is available in three model sizes: 1.3B, 6B, and 175B parameters.&lt;/p&gt;

&lt;h2&gt;DALL-E 2&lt;/h2&gt;

&lt;p&gt;DALL·E 2 is an AI system that can create realistic images and art from a description in natural language. Below is an image generated by this app by running a prompt “&lt;strong&gt;A cup pouring fire as a portal to another dimension.&lt;/strong&gt;”&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.hitsubscribe.com%2Fwp-content%2Fuploads%2F2024%2F04%2Fcup-to-another-dimension-e1713469651769.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.hitsubscribe.com%2Fwp-content%2Fuploads%2F2024%2F04%2Fcup-to-another-dimension-e1713469651769.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Streamlit&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://streamlit.io/" rel="noopener noreferrer"&gt;Streamlit&lt;/a&gt; is a platform that enables you to build web applications that can be hosted in the cloud in just minutes. It helps you build interactive dashboards, generate reports, or create chat applications. Once you’ve created an app, you can use the Community Cloud platform to deploy, manage, and share your application.&lt;/p&gt;

&lt;p&gt;This &lt;a href="https://onyejiakutheophilus-dataprofessionals-ap-prediction-page-jdvug7.streamlit.app/" rel="noopener noreferrer"&gt;application&lt;/a&gt; is an example of deploying with Streamlit.&lt;/p&gt;

&lt;h2&gt;Prerequisites&lt;/h2&gt;

&lt;p&gt;In this section, we will quickly take a look at some of the tools you will need to successfully follow along with these steps and ultimately build your own application.&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;
&lt;strong&gt;Python&lt;/strong&gt;: A high level programming language for many use cases. For this project, we will be using &lt;strong&gt;Python version 3.9.&lt;/strong&gt; This project will still work with any older version of Python. Proceed &lt;a href="https://www.python.org/downloads/" rel="noopener noreferrer"&gt;here&lt;/a&gt; to download any version of Python from the list of operating systems available. Ensure to add Python to your PC environment variable by following this &lt;a href="https://phoenixnap.com/kb/add-python-to-path" rel="noopener noreferrer"&gt;guide&lt;/a&gt;.&lt;/li&gt;
    &lt;li&gt;
&lt;strong&gt;pip: &lt;/strong&gt;A package installer used in python. It is very important to have pip running in your PC for you to be able to flow along with this project. See this &lt;a href="https://phoenixnap.com/kb/install-pip-windows" rel="noopener noreferrer"&gt;guide&lt;/a&gt; on how to install pip and add it to your PC path.&lt;/li&gt;
    &lt;li&gt;
&lt;strong&gt;Pycharm IDE&lt;/strong&gt;: &lt;a href="https://www.jetbrains.com/pycharm/" rel="noopener noreferrer"&gt;Pycharm&lt;/a&gt;  is the integrated development environment we will be using to build the application. It is simply where we will be writing our code. It is easy to install and saves you a lot of coding time, by assisting with code completion, code navigation, code refactoring and debugging. The community edition of this software is free! Once you create and give a name to any new project, it provides you with a Python virtual environment (venv) that enables the installation of libraries specifically for that project as opposed to sharing them with all users of the computer.&lt;/li&gt;
    &lt;li&gt;
&lt;strong&gt;Dataset&lt;/strong&gt;: The dataset we will be using in this project for training the LLM can be found &lt;a href="https://github.com/prust/wikipedia-movie-data/blob/master/movies-2020s.json" rel="noopener noreferrer"&gt;here&lt;/a&gt;. Taking a closer look at the dataset structure, as seen in the figure below for the first two movies from the dataset, we will need only the movie's "&lt;strong&gt;title&lt;/strong&gt;", "&lt;strong&gt;year&lt;/strong&gt;", "&lt;strong&gt;genre&lt;/strong&gt;" and the "&lt;strong&gt;extract&lt;/strong&gt;". This structure of the dataset is very important to take into consideration; when we get to the coding part of this project, we will look into that.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.hitsubscribe.com%2Fwp-content%2Fuploads%2F2024%2F04%2Fdataset-image-e1713470396898.png" alt=""&gt;&lt;/h3&gt;

&lt;h3&gt;Now Let’s Get Started!&lt;/h3&gt;

&lt;p&gt;To achieve our objective, we will be following just 5 simple steps.&lt;/p&gt;

&lt;h2&gt;Step 1: Create a Comet account to log your LLM&lt;/h2&gt;

&lt;p&gt;Now, if you haven't already, go to &lt;a href="https://www.comet.com/" rel="noopener noreferrer"&gt;Comet&lt;/a&gt; and create a new account. After successfully creating your account, head on to &lt;a href="https://www.comet.com/account-settings/apiKeys" rel="noopener noreferrer"&gt;API key section &lt;/a&gt;to get a copy of your comet API key.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.hitsubscribe.com%2Fwp-content%2Fuploads%2F2024%2F04%2FComet-Api-key-e1713470412659.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.hitsubscribe.com%2Fwp-content%2Fuploads%2F2024%2F04%2FComet-Api-key-e1713470412659.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here, you can generate an API key for all your projects. You will need the API key for this part of the project. Copy and save it somewhere.&lt;/p&gt;

&lt;h2&gt;Step 2: Create an OpenAI account to access OpenAI API&lt;/h2&gt;

&lt;p&gt;If you are new to OpenAI, create your OpenAI account &lt;a href="https://chat.openai.com/" rel="noopener noreferrer"&gt;here&lt;/a&gt;. Once you’ve successfully created an account, go on to &lt;a href="https://platform.openai.com/api-keys" rel="noopener noreferrer"&gt;API key section&lt;/a&gt; by using the same credentials you used when creating your account. On the left panel of the screen, click on “&lt;strong&gt;API Keys&lt;/strong&gt;” and then proceed to click on “&lt;strong&gt;Create new secret key&lt;/strong&gt;”. This is shown below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.hitsubscribe.com%2Fwp-content%2Fuploads%2F2024%2F04%2Fopenai-apikeys-e1713469875863.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.hitsubscribe.com%2Fwp-content%2Fuploads%2F2024%2F04%2Fopenai-apikeys-e1713469875863.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, you get a pop-up, as shown below, asking you to give a name for your secret key. Proceed to give it any name and click the “&lt;strong&gt;Create secret key&lt;/strong&gt;” option.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.hitsubscribe.com%2Fwp-content%2Fuploads%2F2024%2F04%2Finput-a-test-key-e1713469912610.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.hitsubscribe.com%2Fwp-content%2Fuploads%2F2024%2F04%2Finput-a-test-key-e1713469912610.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once done, you get the response to save your key. Ensure to copy and save your API key somewhere as you might loose it if you do not copy it instantly.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.hitsubscribe.com%2Fwp-content%2Fuploads%2F2024%2F04%2Fapi-key.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.hitsubscribe.com%2Fwp-content%2Fuploads%2F2024%2F04%2Fapi-key.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;blockquote&gt;Note: This API key is very important to save immediately. Once you close this pop up, you will not be able to get the key again and you will then need to create a new key from scratch. It is therefore necessary you copy it and save it somewhere on your PC. An MS word will do just fine.&lt;/blockquote&gt;

&lt;h3&gt;Building the Application&lt;/h3&gt;

&lt;p&gt;Now its time to build the application. You can use any IDE of your choice (I used Pycharm). We will need the following libraries for the successful development of this application:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;
&lt;strong&gt;comet-llm&lt;/strong&gt;: This is a tool that will be used to log and visualize our LLM prompts.&lt;/li&gt;
    &lt;li&gt;
&lt;strong&gt;openai&lt;/strong&gt;: This is the tool with which we will be using the GPT 3.5 turbo and DALL-E 2 API’s.&lt;/li&gt;
    &lt;li&gt;
&lt;strong&gt;Streamlit&lt;/strong&gt;: An open-source framework used for building data science and machine learning applications.&lt;/li&gt;
    &lt;li&gt;
&lt;strong&gt;json&lt;/strong&gt;: Python module for encoding and decoding JSON data.&lt;/li&gt;
    &lt;li&gt;
&lt;strong&gt;urllib.request&lt;/strong&gt;: Python module for making HTTP requests and working with URLs.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Step 3: Install all Dependencies&lt;/h2&gt;

&lt;p&gt;You first create a new project in your Pycharm IDE and give it any name. This way, you automatically have an environment to start coding with your Python interpreter and other packages.&lt;/p&gt;

&lt;p&gt;Now, in your IDE terminal, run the following commands to install all the dependencies:&lt;/p&gt;

&lt;pre&gt;pip install openai streamlit comet_llm&lt;/pre&gt;

&lt;p&gt;Once done successfully, you will need to configure your API key from OpenAI.&lt;/p&gt;

&lt;h2&gt;Step 4: Configure your OpenAI API key&lt;/h2&gt;

&lt;p&gt;Inside your IDE directory, create a new folder called “.&lt;strong&gt;streamlit”&lt;/strong&gt; and create a new file, “&lt;strong&gt;secrets.toml”&lt;/strong&gt; file inside it. It will look like this snippet shown below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.hitsubscribe.com%2Fwp-content%2Fuploads%2F2024%2F04%2FSECRET-FILE.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.hitsubscribe.com%2Fwp-content%2Fuploads%2F2024%2F04%2FSECRET-FILE.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now open the “&lt;strong&gt;secrets..toml” &lt;/strong&gt;file and add the following line of text:&lt;/p&gt;

&lt;pre&gt;MY_KEY = "Now copy your Openai API key you copied before now and paste it here to replace this."&lt;/pre&gt;

&lt;p&gt;Make sure to replace &lt;strong&gt;“Now copy your OpenAI API key you copied before and paste it here.”&lt;/strong&gt; with your actual OpenAI API key. After adding this line, save the file.&lt;/p&gt;

&lt;h2&gt;Step 5: Write your Code&lt;/h2&gt;

&lt;p&gt;Now create a new python script and give it any name. For this, I named mine “&lt;strong&gt;dualapp”&lt;/strong&gt;. Below is the code to build this dual-purpose app with inline explanation for each line of code.&lt;/p&gt;

&lt;pre&gt;import streamlit as st
import openai
from openai import OpenAI
import comet_llm
import json
from urllib.request import urlopen

# Initialize OpenAI client
client = OpenAI(api_key=st.secrets["MY_KEY"])


# Load the JSON content of movies from the provided URL
response = urlopen("https://raw.githubusercontent.com/prust/wikipedia-movie-data/master/movies-2020s.json")

# Limit to the first 100 items
train_data = json.loads(response.read())[:100]

# Extract relevant information for training
movie_info = """
Hi! I am a chatbot designed to assist you. 
Here are some movies you might find interesting:
"""

for entry in train_data:
    title = entry.get('title', '')
    year = entry.get('year', '')
    genres = ", ".join(entry.get('genres', []))
    extract = entry.get('extract', 'No extract available')
    movie_info += f"- {title} ({year}) - Genres: {genres}\n"
    movie_info += f"  Extract: {extract}\n"


# Instruction for the model
instruction = """
You are strictly going to answer questions based on the movies provided to you. Do not discuss any other information that
has nothing to do with the movies provided to you. 
I want you to take note of the year, title, genre, and extract of the movies and be able to answer questions on them.
"""

# Combine movie_info and instruction for the system message
system_message = instruction + "\n\n" + movie_info

selection = st.sidebar.selectbox("Chat Bot to Text to Image", ("Custom Chat Bot", "Text to Image"))

if selection == "Custom Chat Bot":
    # Initialize Streamlit UI
    st.title("This is a chatbot about Theo")

    # Initialize chat history
    if "messages" not in st.session_state:
        st.session_state.messages = []

    # Display chat history
    for message in st.session_state.messages:
        if message["role"] == "user":
            st.markdown(f"**You:** {message['content']}")
        elif message["role"] == "assistant":
            st.markdown(f"**💼:** {message['content']}")

    # User input for new chat
    prompt = st.text_input("📝", key="user_input_" + str(len(st.session_state.messages)))

    if prompt:
        st.session_state.messages.append({"role": "user", "content": prompt})

        # Formulate message for OpenAI API
        messages = [{"role": "system", "content": system_message}]
        for message in st.session_state.messages:
            messages.append({"role": message["role"], "content": message["content"]})

        full_response = ""
        for response in client.chat.completions.create(
                messages=messages,
                model="gpt-3.5-turbo",
                stream=True,
        ):
            full_response += (response.choices[0].delta.content or "")
        st.session_state.messages.append({"role": "assistant", "content": full_response})
        st.markdown(f"**💼:** {full_response}")

        # Display user input field for next chat
        st.text_input("📝", key="user_input_" + str(len(st.session_state.messages)))

        # log LLM prompt on comet
        comet_llm.log_prompt(
            api_key="9HibPMbc18shhthis_is_my_api_key",
            prompt=prompt,
            output=full_response,
            metadata={
                "model": "gpt-3.5-turbo"
            }
        )

else:
    # Initialize OpenAI client
    client = OpenAI(api_key=st.secrets["MY_KEY"])

    # Streamlit UI for Text to Image
    st.title("DALL-E-2 Text-to-Image Generation")

    # User input for text prompt
    text_prompt = st.text_input("Enter a text prompt")

    if text_prompt:
        # Use the OpenAI API to generate image from text prompt
        response = client.images.generate(
            model="dall-e-2",
            prompt=text_prompt,
            size="1024x1024",
            quality="standard",
            n=1,
        )

        # Get the generated image URL from the OpenAI response
        image_url = response.data[0].url

        # Display generated image
        st.image(image_url, caption="Generated Image", use_column_width=True)
&lt;/pre&gt;

&lt;p&gt;Key take-aways from the code above:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;Initialize OpenAI client using the API key you copied from your OpenAI account.&lt;/li&gt;
    &lt;li&gt;With the variable &lt;code&gt;system_message&lt;/code&gt; we are able to teach or give instruction to our model about any information.&lt;/li&gt;
    &lt;li&gt;Initialize the chat history.&lt;/li&gt;
    &lt;li&gt;We display the chat history.&lt;/li&gt;
    &lt;li&gt;We also provide a new chat for user input right away.&lt;/li&gt;
    &lt;li&gt;We formulate the message for OpenAI, then iteratively generate completions from a chat client using a GPT-3.5 Turbo model based on the provided messages.&lt;/li&gt;
    &lt;li&gt;We log the LLM prompt on Comet using the API key from Comet.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Run your App!&lt;/h2&gt;

&lt;p&gt;Run the command below to run your app. The name I gave to this app is “&lt;strong&gt;dualapp” &lt;/strong&gt;as mentioned before.&lt;strong&gt; &lt;/strong&gt;&lt;/p&gt;

&lt;pre&gt;streamlit run dualapp.py&lt;/pre&gt;

&lt;p&gt;Bravo! You’ll get the response shown below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.hitsubscribe.com%2Fwp-content%2Fuploads%2F2024%2F04%2FAPP-RAN-SUCCESSFULLY.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.hitsubscribe.com%2Fwp-content%2Fuploads%2F2024%2F04%2FAPP-RAN-SUCCESSFULLY.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on the link in the output message to view your app.&lt;/p&gt;

&lt;p&gt;This is the home page of the app&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.hitsubscribe.com%2Fwp-content%2Fuploads%2F2024%2F04%2Fhome-page-1-e1713470271585.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.hitsubscribe.com%2Fwp-content%2Fuploads%2F2024%2F04%2Fhome-page-1-e1713470271585.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Below is a Prompt using the chat bot&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.hitsubscribe.com%2Fwp-content%2Fuploads%2F2024%2F04%2FPrompt-in-app-and-a-corresponding-log-on-comet-e1713470299390.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.hitsubscribe.com%2Fwp-content%2Fuploads%2F2024%2F04%2FPrompt-in-app-and-a-corresponding-log-on-comet-e1713470299390.png" alt=""&gt;&lt;/a&gt;Below is the corresponding LLM log on comet. Visit &lt;a href="https://www.comet.com/theophilus/llm-general/prompts" rel="noopener noreferrer"&gt;&lt;strong&gt;here&lt;/strong&gt;&lt;/a&gt; to view this page. Make sure to click on “Columns” in order to select the variables of the table you want to see as shown in the figure below:&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.hitsubscribe.com%2Fwp-content%2Fuploads%2F2024%2F04%2FLog-on-Comet-1-e1713470314669.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.hitsubscribe.com%2Fwp-content%2Fuploads%2F2024%2F04%2FLog-on-Comet-1-e1713470314669.png" alt=""&gt;&lt;/a&gt;Now lets explore the app:&lt;/p&gt;

&lt;p&gt;[video width="1280" height="644" mp4="&lt;a href="https://www.hitsubscribe.com/wp-content/uploads/2024/04/YouCut_20240409_113404658.mp4%22%5D%5B/video" rel="noopener noreferrer"&gt;https://www.hitsubscribe.com/wp-content/uploads/2024/04/YouCut_20240409_113404658.mp4"][/video&lt;/a&gt;]&lt;/p&gt;

&lt;h3&gt;Summary&lt;/h3&gt;

&lt;p&gt;To successfully create this dual purpose app that integrates both text-to-image and custom chatbot, we followed the following steps:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;
&lt;strong&gt;Step 1&lt;/strong&gt;: Create a Comet account to log your LLM.&lt;/li&gt;
    &lt;li&gt;
&lt;strong&gt;Step 2&lt;/strong&gt;: Create an OpenAI account to access your OpenAI API keys.&lt;/li&gt;
    &lt;li&gt;
&lt;strong&gt;Step 3&lt;/strong&gt;: Install all dependencies.&lt;/li&gt;
    &lt;li&gt;
&lt;strong&gt;Step 4&lt;/strong&gt;: Configure your OpenAI API key.&lt;/li&gt;
    &lt;li&gt;
&lt;strong&gt;Step 5&lt;/strong&gt;: Write your code.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thank you for your time!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Credit: Dataset from &lt;a href="https://github.com/prust" rel="noopener noreferrer"&gt;Peter Rust&lt;/a&gt; &lt;/strong&gt;&lt;/p&gt;

</description>
      <category>python</category>
      <category>webdev</category>
      <category>ai</category>
    </item>
    <item>
      <title>Developer Marketing: An Insider's Guide with Actionable Tips</title>
      <dc:creator>Erik Dietrich</dc:creator>
      <pubDate>Mon, 28 Aug 2023 20:14:47 +0000</pubDate>
      <link>https://dev.to/hitsubscribe/developer-marketing-an-insiders-guide-with-actionable-tips-1h7l</link>
      <guid>https://dev.to/hitsubscribe/developer-marketing-an-insiders-guide-with-actionable-tips-1h7l</guid>
      <description>&lt;p&gt;I spent about a decade in roles with various flavors of "software engineer" in the title.  After that, I logged time as a dev manager, CIO, IT management consultant, and dev trainer/coach.  I have occupied, supervised, or advised literally every role in the IT org chart.&lt;/p&gt;

&lt;p&gt;So naturally, I founded a marketing company three years ago.&lt;/p&gt;

&lt;p&gt;That weird career transition is a story for another day.  You see, I'm engaging in the editorial sin of unsolicited autobiography with an actual purpose.&lt;/p&gt;

&lt;p&gt;I want you to understand that this guide comes, yes, from an understanding of marketing.  But, more importantly, it comes from a deep, deep understanding of the buyer landscape.&lt;/p&gt;

&lt;p&gt;I'm going to walk you through the ins, outs, and subtleties of developer marketing.  And I'm going to do it from the unique perspective of a long-time insider that understands marketing.&lt;/p&gt;

&lt;h2&gt;First of All, Stop Generalizing the "Developer" Persona&lt;/h2&gt;

&lt;p&gt;Let's start with an easy one.  Easy to understand, at least.  It might be harder to initially wrap your head around it, since I see an industry antipattern in developer marketing.&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;"Developers hate marketing and they're skeptical of it."&lt;/li&gt;
    &lt;li&gt;"You can find developers on Stack Overflow constantly because they're obsessed with DIY solutions to technical problems."&lt;/li&gt;
    &lt;li&gt;"Engineers won't buy anything without reading about it in depth and trying it extensively."&lt;/li&gt;
    &lt;li&gt;"You know how programmers are; they hate meetings and will do anything to avoid talking to people."&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I read and hear these sorts of statements all the time...in the context of one marketer talking to another.&lt;/p&gt;

&lt;p&gt;Here's a fun exercise.  Zoom out a little and imagine you're reading a marine biologist talk about the lovable, but enigmatic octopus.&lt;br&gt;
&lt;a href="https://www.hitsubscribe.com/wp-content/uploads/2020/08/Theyre-kind-of-strange-and-ugly-at-first-but-once-you-work-with-them-enough-you-discover-that-the.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--E7Q5jjAX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://www.hitsubscribe.com/wp-content/uploads/2020/08/Theyre-kind-of-strange-and-ugly-at-first-but-once-you-work-with-them-enough-you-discover-that-the-1024x476.png" alt="They're kind of strange and ugly at first, but once you work with them enough, you discover that they're actually quite caring and intelligent.  I've been so immersed in their world the last few years that they've come to accept me as one of them.  They even bring me gifts!" width="800" height="372"&gt;&lt;/a&gt;&lt;br&gt;
You won't be able to unsee this now.  The way marketers tend to talk about developers ranges between anthropological and reminiscent of animal biology.&lt;/p&gt;

&lt;p&gt;This tendency toward overgeneralization, however, is nonsense.  And I'll drive that point home with two simple statistics:&lt;/p&gt;

&lt;ol&gt;
    &lt;li&gt;
&lt;a href="https://www.daxx.com/blog/development-trends/number-software-developers-world"&gt;Number of software developers&lt;/a&gt; in the world: 26.4 million.&lt;/li&gt;
    &lt;li&gt;
&lt;a href="https://worldpopulationreview.com/countries"&gt;Number of Australians&lt;/a&gt; in the world: 25.5 million.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;From a quantitative perspective, these efforts to categorize software developers are like saying, "You know how marketing to Australians is—they all have pet kangaroos and carry around giant Crocodile Dundee knives!"&lt;/p&gt;

&lt;p&gt;So stop generalizing software developers.  They aren't octopuses that you're studying, and there are too many of them to generalize even if they were.&lt;/p&gt;

&lt;h2&gt;To Understand the Marketer-Developer Relations Baseline, Understand Recruiters&lt;/h2&gt;

&lt;p&gt;While overgeneralizing developers as a demographic isn't productive, there are certain aspects of the developer experience that you could generalize: CS degrees, bootcamps, tech interviews, etc.  But the one that I want to productively generalize here is the developer experience with recruiters.&lt;/p&gt;

&lt;p&gt;To put a little informal data behind it, I ran a poll of our authors (who are engineers).  I asked this question, with yes or no poll options:&lt;/p&gt;

&lt;blockquote&gt; In the last month, has a recruiter reached out with a job that was ill-suited for your actual skills/experience?&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;100%&lt;/strong&gt; of respondents said "yes."&lt;/p&gt;

&lt;h3&gt;Recruiters Become Insufferable for Engineers&lt;/h3&gt;

&lt;p&gt;To have software development experience or education is to become a juicy target for software recruiters.  As both a former target of this relentless, transactional outreach and someone who has employed it on the hiring side, let me explain briefly how it works.&lt;/p&gt;

&lt;p&gt;Recruiters and recruitment firms are heavily commissioned.  And they earn their pay by charging the hiring authority a roughly 20% average of the hired candidate's first year of salary.  If we call the average developer's salary $100K for easy math, that means they get $20K for each arranged marriage.&lt;/p&gt;

&lt;p&gt;Understand, also, that software development has been an employees' market for years and years.  This makes developers hard to find and hard to pry away from their current jobs.  This, in turn, incents the recruiters to blast out insincere outreach, constantly, en masse, without the most basic research.&lt;/p&gt;

&lt;blockquote&gt;Hey dudebro!  Our totally gnarly client is looking for a junior rockstar coding ninja that can pull request to the max!

Preferred experience is 10 years in a technology that came out 3 years ago, and I'm sending this to you in spite of the fact that glancing at you on LinkedIn would have told me you have 15 more years of experience than are appropriate for this job.

And they've got ping pong tables!!!!

API me over that resume, and rock on!&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://www.hitsubscribe.com/wp-content/uploads/2020/08/Recruiter.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ub2_HF8T--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://www.hitsubscribe.com/wp-content/uploads/2020/08/Recruiter.png" alt="drawing of a sketchy recruiter" width="500" height="559"&gt;&lt;/a&gt;&lt;br&gt;
And it only becomes more insincere (if less cartoonish) from there.  Almost any developer will be able to share a war story about recruiters fibbing to both parties about the job to make a placement or about a recruiter giving them a high pressure sale on a job that was clearly not a fit.&lt;/p&gt;

&lt;p&gt;Now imagine a steady flood of this in your personal inbox, on LinkedIn, and on your phone's voicemail for &lt;em&gt;years&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;That's how something that seems like it'd be great&lt;span&gt;—&lt;/span&gt;people constantly offering you job opportunities&lt;span&gt;—&lt;/span&gt;actually becomes incredibly tiresome.&lt;/p&gt;

&lt;h3&gt;Marketers Can Easily Walk and Quack Like Recruiters&lt;/h3&gt;

&lt;p&gt;As I mentioned earlier, it's impossible to generalize software engineers' collective understanding of different business roles.  Some are well aware of the difference between marketing and sales, for instance.  To others, marketing, sales, and recruiters are a faceless crowd of slick-talking parasites, trying to trick them while feeding off of the value their software creates.&lt;/p&gt;

&lt;p&gt;It really does run the gamut.&lt;/p&gt;

&lt;p&gt;But if you're not careful, you can smell like a recruiter to even the friendliest, "every role brings value" corner of the software developer demographic.  And then, it's all over.&lt;/p&gt;

&lt;p&gt;At best, they'll ignore you.  At worst, they'll put your content on blast somewhere before you know what hit you.  And it's because you've created one of the few things that can unite this disparate demographic: an opportunity for shared catharsis at a near-universal downside of their chosen career.&lt;/p&gt;

&lt;p&gt;I'm mentioning all of this to help you understand the persona that sits on your content briefs.  To &lt;em&gt;really &lt;/em&gt;understand them.&lt;/p&gt;

&lt;p&gt;Developers aren't "just left-brained" and they aren't born with some natural aversion to content marketing or marketers.  They're just relentlessly assaulted by patronizing insincerity, and they're exhausted by it.&lt;/p&gt;

&lt;p&gt;So when you, a non-developer, write a blog post called "10 Reasons Every Developer Should Be on Github," you're inadvertently re-creating for them the experience of inbox spam.&lt;/p&gt;

&lt;p&gt;You need to avoid that.  Consider insincerity, knowledge-faking, manufactured enthusiasm, and fluff to fall under a common, cardinal sin to avoid: reminding them of recruiters.&lt;/p&gt;

&lt;h2&gt;How to Segment the Developer Persona (and How Not To)&lt;/h2&gt;

&lt;p&gt;Having established deal-breaking pitfalls, let's dive into how you should approach things.  Let's talk about segmenting the overly-broad developer persona.&lt;/p&gt;

&lt;p&gt;A few options might come immediately to mind.&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;Segment by years of experience: "junior developer" and "senior developer."&lt;/li&gt;
    &lt;li&gt;Or, maybe segment by org chart roles: "developer" and "architect."&lt;/li&gt;
    &lt;li&gt;How about tech stack?  Rails developers, enterprise Java developers, or web vs backend developers.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Making those distinctions is &lt;em&gt;better, &lt;/em&gt;but it's not how I'd go about it if you really want to nail segmentation.&lt;/p&gt;

&lt;p&gt;To really nail it, get on the calendar of one or two engineers in your organization.  I say this because you've got some collaboration to do.&lt;/p&gt;

&lt;h3&gt;Work with Engineer Colleagues to Establish Personas&lt;/h3&gt;

&lt;p&gt;I don't mean to sound contrarian, but I promise that you don't understand your buyers' org charts as well as you think.  I've been a CIO, and as an IT management consultant, I actually helped actual organizations construct actual IT org charts, and I still find the complexity and variance dizzying.&lt;/p&gt;

&lt;p&gt;Are developers influencers or gatekeepers?  Does an architect report to a dev manager or to someone else?  Do directors make purchase decisions, or only the CTO?&lt;/p&gt;

&lt;p&gt;The answer to all of these questions is "yes."&lt;/p&gt;

&lt;p&gt;Helpful?  Great, that's why you need help.&lt;/p&gt;

&lt;p&gt;See if you can find engineers in your organization or in general that have resume experience at companies that look like your ideal clients.  This immediately takes you from abstract speculation to concrete examples.&lt;/p&gt;

&lt;p&gt;Interview those folks to get a sense of what those org charts looked like, who made decisions, who owned budget, etc.  Create avatars of your buyers, influencers, gatekeepers and committees based on those interviews.  That will help you understand buying dynamics so that you can work backward toward the reader persona of your content.&lt;/p&gt;

&lt;h3&gt;Then Work With The Engineers to Segment by Beliefs about Software Development&lt;/h3&gt;

&lt;p&gt;This is where you should segment further.  But not by demographics&lt;span&gt;—&lt;/span&gt;by &lt;em&gt;psychographics.  &lt;/em&gt;(Here's &lt;a href="https://www.hotjar.com/blog/psychographics-in-marketing/"&gt;a quick primer&lt;/a&gt;, if that's a new term for you.)&lt;/p&gt;

&lt;p&gt;You want to understand what your prospective users and buyers believe about software development.&lt;/p&gt;

&lt;p&gt;For instance, consider these questions that expose fault lines in the software development world:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;Agile: god-send, or corporate cringe?&lt;/li&gt;
    &lt;li&gt;Is a computer science degree important?&lt;/li&gt;
    &lt;li&gt;TDD: table stakes for professionalism or overrated?&lt;/li&gt;
    &lt;li&gt;Is Javascript the assembly language of the internet, or is it the sloppy language of wood glue and baling wire?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I cannot tell you how powerful it will be to find patterns in how your buyers and users feel about these issues.  In many cases, you'll have an even split, but when you find the ones where one opinion correlates with enjoying your offering, you've just struck gold.&lt;/p&gt;

&lt;p&gt;Consider, for instance, how the psychographic segmentation of "agile skeptic" can make your content creation picture crystal clear.&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;Chase virality on Hacker News and Reddit with contrarian "agile is dead" pieces and earn a deluge of new fans if one takes off.&lt;/li&gt;
    &lt;li&gt;Drive engagement on social media by asking people to vote on, say, whether things constitute "agile fails."&lt;/li&gt;
    &lt;li&gt;In organic search, look for questions/keywords associated with researching agile so that you get the first bite at the persuasion apple for tomorrow's buyers.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But to accomplish this, you &lt;em&gt;need&lt;/em&gt; engineers' input.  You need them to explain not just the org chart at companies like your ideal buyers, but to explain what engineers at companies like that tend to believe about software development.&lt;/p&gt;

&lt;h2&gt;Building a Content Plan&lt;/h2&gt;

&lt;p&gt;So paired with engineers to advise you, and segmentation in your pocket, how specifically do you create a content plan?  Here are some specific suggestions.&lt;/p&gt;

&lt;h3&gt;1. Start With Organic Search: What Questions Do Members of Your Segment Ask?&lt;/h3&gt;

&lt;p&gt;We generally recommend organic search as the bedrock of any developer marketing content plan.  It's the blue chip play in your content portfolio, and perfect for &lt;a href="https://ahrefs.com/blog/why-seo-is-important/"&gt;avoiding the so-called "flatline of nope.&lt;/a&gt;"&lt;/p&gt;

&lt;p&gt;To come up with a solid backlog of topics, figure out what questions your audience asks of the search engine.  These should include both topics relevant to your product and also relevant to what your audience believes and is curious about in the developer world.&lt;/p&gt;

&lt;p&gt;This becomes the top of your funnel and how you meet a good chunk of your audience: with content specifically designed to answer their questions, walk them through tutorials, and generally help them.  With organic content, I strongly suggest outsourcing and guest blogging so that you can publish as quickly as possible.  The best time to write an organic blog post was two years ago, and the second best time is today.&lt;/p&gt;

&lt;h3&gt;2. Lay Out Strong Opinions That Bind Your Audience to You&lt;/h3&gt;

&lt;p&gt;Working with engineers to help you, you've discovered what your audience believes&lt;span&gt;—&lt;/span&gt;their psychographics.  Working with key folks internally, use those to define some controversial opinions that will endear your audience to you.&lt;/p&gt;

&lt;p&gt;With these opinions in place, define some (mildly) controversy-courting posts to write and share.  For instance, if you sell a tool that enables remote or asynchronous code review, you might schedule a post along the lines of "It's Time to be Honest: Pair Programming is Overrated."&lt;/p&gt;

&lt;p&gt;This style of post becomes another way to bring audiences in and bind them to you, but this time through social media share and syndication.  Publish these on your blog, promote them, syndicate them to sites like DEV and DZone, and submit them to sites like Hacker News and Reddit.&lt;/p&gt;

&lt;p&gt;With this style of post, you &lt;em&gt;can &lt;/em&gt;outsource them to guest authors, but I'd suggest finding internal folks to do it, if possible.  This might be dev rel folks working for you or internal engineers.  This style of content is closer to your brand, and lets you position your people as columnists that can build a following.  (Brands, rather than individuals, tend to attract followings in the dev world).&lt;/p&gt;

&lt;h3&gt;3. Define Pain-Dream-Fix for Your Offering&lt;/h3&gt;

&lt;p&gt;With two flavors of top of the funnel content in your back pocket, let's move to the middle of the funnel.&lt;/p&gt;

&lt;p&gt;Again, working with the engineering folks you've partnered with, sit down and talk through &lt;a href="https://www.antonsten.com/understanding-pain-dream-fix/"&gt;pain-dream-fix&lt;/a&gt;.  How does your product make the developers using it more awesome?  What's in it for them?&lt;/p&gt;

&lt;p&gt;Here where we're more in the territory of product marketing, you want to tell these stories.  You &lt;em&gt;can &lt;/em&gt;do this as case studies, but if at all possible, I'd suggest doing it with blog posts.  With the aforementioned asynchronous code review tool, write a post that shows users how to navigate a code review workflow on Github that, oh, by the way, just happens to use your tool.&lt;/p&gt;

&lt;p&gt;In an ideal world, you can draw readers directly to these posts with the right organic strategy.  But a lot of you reading don't have the kind of product that neatly generates use cases that correspond to great keywords.  So plan to get eyeballs on this content with backlinks from your organic posts and controversy-courting direct shares.&lt;/p&gt;

&lt;p&gt;This is another kind of post that you &lt;em&gt;can &lt;/em&gt;outsource, but are often better doing internally, if at all possible.  It tends to have a non-trivial learning curve for the author, and with freelance software engineers, they're going to pass that cost right on to you.&lt;/p&gt;

&lt;h3&gt;4. Create Collateral to Help Your Champions Make the Sale&lt;/h3&gt;

&lt;p&gt;At some point, you've sold your audience.  The engineers reading your content trust your brand, like your offering, and have perhaps even concluded a trial.  That's incredibly important.&lt;/p&gt;

&lt;p&gt;But it's also, in all likelihood, not the end of the story.  Rather, it's just the start of your sales cycle, where some combination of your sales reps and the engineers have to sell &lt;em&gt;their &lt;/em&gt;leadership on opening the purse strings.&lt;/p&gt;

&lt;p&gt;Address this with content.  Case studies are great, obviously.  But you can also create blog posts, emails, webinars, and other pieces of collateral to help both the developers and your sales team convince the monetary buyer.&lt;/p&gt;

&lt;p&gt;If the engineer is sold on your remote code review tool, she'll appreciate a blog post about how to manage up when it comes to such tools.  I have firsthand experience with this, since I literally still earn royalties on &lt;a href="https://www.pluralsight.com/courses/making-business-case-for-best-practices"&gt;a course I made six years ago&lt;/a&gt;, helping engineers sell tools and practices to their management.&lt;/p&gt;

&lt;p&gt;Of course, you need collateral for your sales reps.  But don't sleep on enlisting enthusiastic engineers to help you with the sales process.&lt;/p&gt;

&lt;h3&gt;5. Create a Developer-Savvy Promotion Plan&lt;/h3&gt;

&lt;p&gt;You've now got all of the content components in place.  Organic posts on your blog will bring a steady supply of traffic, and your opinionated posts will bring in spikes of it, while endearing your audience to you.  From there, you're building trust as developers interact more with you.&lt;/p&gt;

&lt;p&gt;But you want to make sure that you're creating and distributing content efficiently.  You want to work with the engineers helping you, again, to understand your audience's digital haunts.  And you want to get content to those channels as regularly and easily as possible.&lt;/p&gt;

&lt;p&gt;Here is a quick list of things to do to wring everything out of the content.&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;Identify syndication-driven and share-driven sites where your audience hangs out, and form a plan as to which content to promote there (definitely all of your shareable content, but be leery of syndicating organic content).&lt;/li&gt;
    &lt;li&gt;Comb your posts for good quotes that you can turn into graphical pull quotes.  This helps SEO in organic posts and it also gives you material for social media.&lt;/li&gt;
    &lt;li&gt;With the posts that you write, brainstorm what sorts of questions they might answer on Q&amp;amp;A sites like StackOverflow and Quora.  Especially with organic posts.  If you can do it helpfully and as a good citizen, add links back to your posts as answers or comments.&lt;/li&gt;
    &lt;li&gt;If you have the bandwidth, have someone in your organization make videos, facing the camera, where they talk through the points covered in blog posts.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are just a few of the things you can do, but it should get you started.&lt;/p&gt;

&lt;h2&gt;Developers Are the Key to Developer Marketing&lt;/h2&gt;

&lt;p&gt;If you've noticed a theme throughout this post, it's that I've advised having your software engineer collaborators sitting with you through all of this planning.  That's no accident.&lt;/p&gt;

&lt;p&gt;It's become common for developer tools companies to enlist engineers to write content.  That's old hat.  But having them participate in keyword research and content strategy is relatively uncommon.&lt;/p&gt;

&lt;p&gt;I know that it's uncommon because it's what Hit Subscribe does for its clients, and it's proven to be a massive differentiator as we've grown over the last few years.  At every stage of our process, we involve engineers &lt;span&gt;—&lt;/span&gt;subject matter experts&lt;span&gt;—&lt;/span&gt;because of their deep understanding of the nuances of reaching the audience from which they hail.&lt;/p&gt;

&lt;p&gt;So as you create and then execute your plan, make sure you're involving engineers at every step.&lt;/p&gt;

</description>
      <category>writing</category>
    </item>
    <item>
      <title>Dev Bloggers/Technical Bloggers Wanted</title>
      <dc:creator>Angela C</dc:creator>
      <pubDate>Mon, 22 Nov 2021 19:04:06 +0000</pubDate>
      <link>https://dev.to/hitsubscribe/developer-bloggerstechnical-bloggers-wanted-m7c</link>
      <guid>https://dev.to/hitsubscribe/developer-bloggerstechnical-bloggers-wanted-m7c</guid>
      <description>&lt;p&gt;Hit Subscribe is a company that hires engineers to write content for technical blogs. So, what we're looking for is quite straightforward: engineers interested in a side hustle writing technical content for companies that sell to engineers. Or, put more simply, we want you to write content (mostly blog posts) about technical topics like DevOps, testing, machine learning, security, and more.&lt;br&gt;
If you like writing blog posts (or think you might, and have been meaning to start your own technical blog) let's talk.&lt;br&gt;
Apply here: &lt;a href="https://www.hitsubscribe.com/apply-to-be-an-author/"&gt;https://www.hitsubscribe.com/apply-to-be-an-author/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>writing</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
