diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 2916349..b3e9bd0 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -30,7 +30,7 @@ We're happy that you want to contribute to this project. Please read the section
 - Assign yourself to the issue, if you are working on it (if you are not a member of the organization, please leave a comment on the issue)
 - Make your changes
 - Keep pull requests small and focused, if you have multiple changes, please open multiple PRs
-- Create a pull request back to the upstream repository and follow follow the [pull request template](.github/pull_request_template.md) guidelines.
+- Create a pull request back to the upstream repository and follow the [pull request template](.github/pull_request_template.md) guidelines.
 - Wait for a review and address any comments
 
 **Opening PRs**
diff --git a/README.md b/README.md
index 9a16889..170aad1 100644
--- a/README.md
+++ b/README.md
@@ -128,7 +128,7 @@ _This mode of operation is ideal for continuous monitoring of your cluster and c
 * Run `k8sgpt filters` to manage the active filters used by the analyzer. By default, all filters are executed during analysis.
 * Run `k8sgpt analyze` to run a scan.
 * And use `k8sgpt analyze --explain` to get a more detailed explanation of the issues.
-* You also run `k8sgpt analyze --with-doc` (with or without the explain flag) to get the official documention from kubernetes.
+* You also run `k8sgpt analyze --with-doc` (with or without the explain flag) to get the official documentation from kubernetes.
 
 ## Analyzers
 
@@ -424,7 +424,7 @@ Note: **Anonymization does not currently apply to events.**
 
 *In a few analysers like Pod, we feed to the AI backend the event messages which are not known beforehand thus we are not masking them for the **time being**.*
 
-- The following are the list of analysers in which data is **being masked**:-
+- The following is the list of analysers in which data is **being masked**:-
 
   - Statefulset
   - Service
@@ -436,7 +436,7 @@ Note: **Anonymization does not currently apply to events.**
   - Deployment
   - Cronjob
 
-- The following are the list of analysers in which data is **not being masked**:-
+- The following is the list of analysers in which data is **not being masked**:-
 
   - RepicaSet
   - PersistentVolumeClaim
@@ -447,7 +447,7 @@ Note: **Anonymization does not currently apply to events.**
   - k8gpt will not mask the above analysers because they do not send any identifying information except **Events** analyser.
   - Masking for **Events** analyzer is scheduled in the near future as seen in this [issue](https://github.com/k8sgpt-ai/k8sgpt/issues/560). _Further research has to be made to understand the patterns and be able to mask the sensitive parts of an event like pod name, namespace etc._
 
-- The following are the list of fields which are not **being masked**:-
+- The following is the list of fields which are not **being masked**:-
 
   - Describe
   - ObjectStatus
@@ -482,7 +482,7 @@ Config file locations:
 </details>
 
 <details>
-There may be scenarios where caching remotely is prefered.
+There may be scenarios where caching remotely is preferred.
 In these scenarios K8sGPT supports AWS S3 Integration.
 
 <summary> Remote caching </summary>
diff --git a/SECURITY.md b/SECURITY.md
index a538692..fcf9674 100644
--- a/SECURITY.md
+++ b/SECURITY.md
@@ -8,4 +8,4 @@ For example if there is a vulnerability in release `0.1.0` we will fix that rele
 
 ## Reporting a Vulnerability
 
-If you are aware of a vulnverability please feel free to disclose it responsibly to contact@k8sgpt.ai or to one of our maintainers in our Slack community.
+If you are aware of a vulnerability please feel free to disclose it responsibly to contact@k8sgpt.ai or to one of our maintainers in our Slack community.