diff --git a/kubedifflib/_diff.py b/kubedifflib/_diff.py
index 03a6337..e51b8f6 100644
--- a/kubedifflib/_diff.py
+++ b/kubedifflib/_diff.py
@@ -21,6 +21,12 @@ from ._kube import (
   iter_files,
 )
 
+def mask(x):
+  """Turn a string into an equal-length string of asterisks"""
+  try:
+    return len(x) * '*'
+  except TypeError: # not a string - perhaps None - just return it as-is
+    return x
 
 class Difference(object):
   """An observed difference."""
@@ -32,7 +38,7 @@ class Difference(object):
 
   def to_text(self, kind=''):
     if 'secret' in kind.lower() and len(self.args) == 2:
-      message = self.message % ((len(self.args[0]) * '*'), (len(self.args[1]) * '*'))
+      message = self.message % (mask(self.args[0]), mask(self.args[1]))
 
     else:
       message = self.message % self.args

TypeError on SealedSecret
Reported in PR #78 

error below for e.g. `SealedSecret.v1alpha1.bitnami.com`

```
Traceback (most recent call last):
  File "/Users/po/src/kubediff/kubediff", line 48, in <module>
    main()
  File "/Users/po/src/kubediff/kubediff", line 42, in main
    failed = check_files(args, printer, config)
  File "/Users/po/src/kubediff/kubedifflib/_diff.py", line 246, in check_files
    differences += check_file(printer, path, config)
  File "/Users/po/src/kubediff/kubedifflib/_diff.py", line 174, in check_file
    printer.diff(path, difference)
  File "/Users/po/src/kubediff/kubedifflib/_diff.py", line 214, in diff
    self._write('%s', difference.to_text(self._current.kind))
  File "/Users/po/src/kubediff/kubedifflib/_diff.py", line 35, in to_text
    message = self.message % ((len(self.args[0]) * '*'), (len(self.args[1]) * '*'))
TypeError: object of type 'NoneType' has no len()
```
diff --git a/kubedifflib/tests/test_diff.py b/kubedifflib/tests/test_diff.py
index fa5a683..575fffb 100644
--- a/kubedifflib/tests/test_diff.py
+++ b/kubedifflib/tests/test_diff.py
@@ -2,10 +2,10 @@ import copy
 
 import random
 
-from hypothesis import given
+from hypothesis import given, example
 from hypothesis.strategies import integers, lists, text, fixed_dictionaries, sampled_from, none, one_of
 
-from kubedifflib._diff import diff_lists, list_subtract
+from kubedifflib._diff import diff_lists, list_subtract, Difference
 from kubedifflib._kube import KubeObject
 
 
@@ -137,3 +137,16 @@ def test_from_dict_kubernetes_list_type(data):
 def test_from_dict_kubernetes_obj_type(data):
     """KubeObject.from_dict parses regular kubernetes objects."""
     assert [kube_obj.data for kube_obj in KubeObject.from_dict(data)] == [data]
+
+@given(path=text(), kind=text())
+def test_difference_no_args(path, kind):
+    """Difference.to_text works as expected when no args passed."""
+    d = Difference("Message", path)
+    assert d.to_text(kind) == path + ": Message"
+
+@given(path=text(), kind=text(), arg1=text(), arg2=one_of(text(), none()))
+@example("somepath","Secret", "foo", None)
+def test_difference_two_args(path, kind, arg1, arg2):
+    """Difference.to_text works when two args passed, that may be 'none'."""
+    d = Difference("Message %s %s", path, arg1, arg2)
+    assert d.to_text(kind) != ""

pip install -e .[dev]
parse_log_pytest
requirements.txt
pytest
3.9
requirements.txt dev-requirements.txt
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
attrs==25.3.0
cachetools==5.5.2
chardet==5.2.0
colorama==0.4.6
distlib==0.3.9
exceptiongroup==1.2.2
filelock==3.18.0
flake8==7.2.0
future==1.0.0
hypothesis==6.130.5
iniconfig==2.1.0
-e git+https://github.com/weaveworks/kubediff.git@42a6c302e06db06b5887e866e29d7d4a452a1d1e#egg=kubedifflib
mccabe==0.7.0
packaging==24.2
platformdirs==4.3.7
pluggy==1.5.0
pycodestyle==2.13.0
pyflakes==3.3.1
pyproject-api==1.9.0
pytest==8.3.5
PyYAML==6.0.2
sortedcontainers==2.4.0
tabulate==0.9.0
tomli==2.2.1
tox==4.25.0
typing_extensions==4.13.0
virtualenv==20.29.3

name: kubediff
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=3.0.16=h5eee18b_0
  - pip=25.0=py39h06a4308_0
  - python=3.9.21=he870216_1
  - readline=8.2=h5eee18b_0
  - setuptools=75.8.0=py39h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - tzdata=2025a=h04d1e81_0
  - wheel=0.45.1=py39h06a4308_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - attrs==25.3.0
      - cachetools==5.5.2
      - chardet==5.2.0
      - colorama==0.4.6
      - distlib==0.3.9
      - exceptiongroup==1.2.2
      - filelock==3.18.0
      - flake8==7.2.0
      - future==1.0.0
      - hypothesis==6.130.5
      - iniconfig==2.1.0
      - mccabe==0.7.0
      - packaging==24.2
      - platformdirs==4.3.7
      - pluggy==1.5.0
      - pycodestyle==2.13.0
      - pyflakes==3.3.1
      - pyproject-api==1.9.0
      - pytest==8.3.5
      - pyyaml==6.0.2
      - sortedcontainers==2.4.0
      - tabulate==0.9.0
      - tomli==2.2.1
      - tox==4.25.0
      - typing-extensions==4.13.0
      - virtualenv==20.29.3
prefix: /opt/conda/envs/kubediff

kubedifflib/tests/test_diff.py::test_difference_two_args
kubedifflib/tests/test_diff.py::test_diff_lists_equal kubedifflib/tests/test_diff.py::test_same_list_shuffled_is_not_different kubedifflib/tests/test_diff.py::test_same_list_shuffled_is_not_different_nested kubedifflib/tests/test_diff.py::test_added_items_appear_in_diff kubedifflib/tests/test_diff.py::test_list_subtract_same_list kubedifflib/tests/test_diff.py::test_list_subtract_recover kubedifflib/tests/test_diff.py::test_diff_lists_doesnt_mutate_inputs kubedifflib/tests/test_diff.py::test_diff_lists_doesnt_mutate_inputs_nested_lists kubedifflib/tests/test_diff.py::test_two_lists_of_same_size_generator kubedifflib/tests/test_diff.py::test_from_dict_kubernetes_list_type kubedifflib/tests/test_diff.py::test_from_dict_kubernetes_obj_type kubedifflib/tests/test_diff.py::test_difference_no_args
kubedifflib/_diff.py
kubedifflib/_diff.py